eAccelerator とは
eAccelerator project の Description のよると、
eAcceleratorは無料のオープンソースでPHPアクセラレータと、オプティマイザと、ダイナミックなキャッシュをサポートします。
コンパイルされた状態でそれらをキャッシュすることによって、PHPスクリプトの性能を向上させ、オーバーヘッドがほぼ完全に取り除かれます。
また、それは、彼らの実行を早くするためにスクリプトを最適化します。
eAcceleratorは1-10倍サーバ負荷を通常減少させて、PHPコードの速度を上げることができます。
ダウンロードと解凍
# wget ‘http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2’
# tar jxvf eaccelerator-0.9.5.2.tar.bz2
# cd eaccelerator-0.9.5.2
コンパイルとインストール
# /usr/local/php/bin/phpize
# ./configure –enable-eaccelerator=shared –with-php-config=/usr/local/php/bin/php-config
# make
# make install
make install後に表示されるパスをメモリます。
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
管理画面の設定
eaccelerator のキャッシュの状態等を参照できます。今回はapache のデフォルトのドキュメントルートに設定していますが、
virtualhost 等で一般の方が参照できないドキュメントルートに設定しアクセス制限もおこないましょう。
# cp /usr/local/src/eaccelerator-0.9.5.3/control.php /usr/local/apache2/htdocs
# vi control.php
//以下の部分を編集、ユーザとパスを設定
$user = “admin”;
$pw = “password”;
キャッシュディレクトリを作成しapache を動作しているユーザがフル権限でアクセスできるようにしましょう。
# mkdir /tmp/eaccelerator”
# chmod 777 /tmp/eaccelerator
php.ini の設定
最終行に下記を追加
# vi /usr/local/php/lib/php.ini
[eaccelerator]
zend_extension=”/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so”
eaccelerator.shm_size = “128”
eaccelerator.cache_dir = “/tmp/eaccelerator”
eaccelerator.allowed_admin_path = “/usr/local/apache2/htdocs/control.php”
eaccelerator.enable = “1”
eaccelerator.optimizer = “1”
eaccelerator.check_mtime = “1”
eaccelerator.debug = “0”
eaccelerator.filter = “”
eaccelerator.shm_max = “0”
eaccelerator.shm_ttl = “0”
eaccelerator.shm_prune_period = “0”
eaccelerator.shm_only = “0”
eaccelerator.compress = “1”
eaccelerator.compress_level = “9”
eaccelerator.keys = “shm_and_disk”
eaccelerator.sessions = “shm_and_disk”
eaccelerator.content = “shm_and_disk”
php.ini の確認
# /usr/local/php/bin/php -v
エラーが表示されないことを確認します。
apache の再起動
# /usr/local/apache2/bin/apachectl restart
http://localhost/control.php
にアクセス、設定した ユーザ名、パスワードでログイン
正常にキャッシュできていることを確認します。
以上