Inotify APC Smarty Recompiler
これは何?
PHPの高速化をするにはAPCを使ったりSmartyのオプションを色々変えたりということをすると高速化できます。
特にファイル変更のチェックをはずすと高速化出来ますが、その代わりPHPの利点であるサーバを動かしながら変更を加えるということが
出来なくなってしまいます。
ということで、ファイルの変更チェックオプションは生かしておいて運用するというのもありなのですが、それでは高速化できないよ。
でも、動かしながら変えられないよなんとかならないのかー???
ってことで、ファイル監視は別な人がやるよ。っていうのがこの、Inotify APC Smartyリコンパイラなわけです。
Inotify って何?
Linuxでファイルやディレクトリが変更された場合に監視対象としているもののみの通知をしてくれる仕組みです。
PHPでもInotifyを使うライブラリがあるのでPHPでファイル監視プログラムを作ることが出来ます。
問題点
apcのリコンパイルはapacheのphp上で動かさないといけません。コマンドラインからは動かしてもエラーになってしまいます。
空間が違うからみたい。
対策方法はapache上で常駐してしまうか、リコンパイル部分だけapache上で動く簡単なphpを置くことです。
で、どうやって使うんだ?
APCをインストールします。
参考: http://www.ideaxidea.com/archives/2009/01/php_apc.html
Smartyをインストールします。
参考: http://www.phpbook.jp/smarty/install/
Inotifyをインストールします。
参考: http://ameblo.jp/itboy/entry-10173242939.html
この辺は適当にググッただけなので、色々調べてください。
APCのファイルチェックをはずします。
apc.stat = Off
$smarty = new Smarty(); $smarty->compile_check = false;