eAcceleratorの導入

複数あるPHPのアクセラレータの一つである「eAccelerator」を導入してみました。

前回にPHPを5にバージョンアップしたのでPHP5にインストールすることになりますがPHP4でもあまり相違点はないと思われます。

コンパイル環境がない場合はまずそれらをインストール

<code>
$sudo aptitude install libtool
$sudo aptitude install libguile-dev
$sudo aptitude install automake
$sudo aptitude install g++
</code>

まずは「eAccelerator」のソースのダウンロードからインストールまで、

<code>
$ cd /tmp
$ wget http://nchc.dl.sourceforge.net/sourceforge/eaccelerator/eaccelerator-0.9.5.2.tar.bz2
$ tar jxf eaccelerator-0.9.5.2.tar.bz2
$ su
# cd eaccelerator-0.9.5.2
# export PHP_PREFIX="/usr/"
# $PHP_PREFIX/bin/phpize
# ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
# make
# make install
</code>

とすると

Installing shared extensions: /usr/lib/php5/20060613+lfs/

のようにインストール先が出力されます。
次にキャッシュフォルダーの作成と「extensions」フォルダー、リンクの作成を行います。

<code>
# mkdir /usr/lib/php5/extensions
# mkdir /var/cache/eaccelerator
# chown www-data:www-data /var/cache/eaccelerator
# ln -s /usr/lib/php5/20060613+lfs/eaccelerator.so /usr/lib/php5/extensions/eaccelerator.so
</code>

次にPHPの設定を変更します。

<code>
# vim /etc/php5/apache2/php.ini
</code>

としエディタで「/etc/php5/apache2/php.ini」を開き、以下の記述を最後の行の「; End:」の上に追記します。

<code>
[eaccelerator]
zend_extension="/usr/lib/php5/extensions/eaccelerator.so"
eaccelerator.shm_size = "32"
eaccelerator.cache_dir = "/var/cache/eaccelerator"
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"
</code>

保存し、最後にApache2を再起動します。

<code>
# /etc/init.d/apache2 restart
</code>

以前PHPの確認で使用したphpinfo();を実行してみます。(こちらを参照)
eaccelerator_phpinfo
の様に「eAccelerator」の項目ができており、キャッシュフォルダーである「/var/cache/eaccelerator」にファイルが生成されてるのを確認できれば成功。

キャッシュフォルダの確認方法

<code>
# ls /var/cache/eaccelerator
0  1  2  3  4  5  6  7 8  9  a  b  c  d  e  f //このようなファイルができていれば成功
</code>

WordPressなども少し速くなったような気がします。
細かい比較はまた今度。

コメントを残す

メールアドレスが公開されることはありません。

question razz sad evil exclaim smile redface biggrin surprised eek confused cool lol mad twisted rolleyes wink idea arrow neutral cry mrgreen

*