[Momonga-devel.ja:02144] Re: PHP script cache/encoder


Yasuo Ohgaki wrote:
> 大垣です。
> 
> turck-mmcacheと言うPHP Script Cache/Encoderをコミットしました。
> 
> http://www.turcksoft.com/en/e_mmc.htm
> 
> インストールしただけでは動作しないのでドキュメントを見てphp.ini
> を変更してください。
> 
> 興味がある方は使ってみてください。

簡単にcacheとしての利用方法を説明します。
turck-mmcacheパッケージをインストールした後、以下の設定を使っている
php.ini (4.3.4RC1の場合、php-apahce2hander.iniがApache2 SAPIの設定
ファイル)を追加します。場所はどこでも構いません。私は最初に追加
しています。

  zend_extension="/usr/lib/php4/mmcache.so"
  mmcache.shm_size="16"
  mmcache.cache_dir="/tmp/mmcache"
  mmcache.enable="1"
  mmcache.optimizer="1"
  mmcache.check_mtime="1"
  mmcache.debug="0"
  mmcache.filter=""
  mmcache.shm_max="0"
  mmcache.shm_ttl="0"
  mmcache.shm_prune_period="0"
  mmcache.shm_only="0"
  mmcache.compress="1"

共有メモリにキャッシュされるので16MB(mmcache.shm_size="16")なので、
それ以上になった場合、/tmp/mmcache(mmcache.cache_dir="/tmp/mmcache")
に保存されますがディレクトリは作成しないのであらかじめ作って置きます。

mkdir /tmp/mmcache
chmod 0777 /tmp/mmcache
chmod +t /tmp/mmcache

Apacheを再起動します。

/etc/init.d/httpd restart

phpinfo()でZendエンジンのバージョンが書かれている部分に

============================================================
This program makes use of the Zend Scripting Language Engine:
Zend Engine v1.3.0, Copyright (c) 1998-2003 Zend Technologies with
Turck MMCache v2.4.1, Copyright (c) 2002-2003 TurckSoft,
St. Petersburg, by Dmitry Stogov
============================================================

と書かれていれば成功です。
上記の設定の場合、自動的にファイル更新時間をチェックして再コンパイル
します。

turck_mmcacheはコンパイルされたバイトコードの最適化も行っているので
効率的です。ZendOptimizerとの併用も可能なようです。

--
Yasuo Ohgaki