Go for it!

モーターサイクルと自転車とキャンプの日々。

eAccelerator入れてみた

応答の遅いうちのサーバ状況を改善するためにeAcceleratorを入れてみました。以下、手順のメモ。

1)ソースコードのダウンロード

公式サイトからダウンロードをたどってソースコードをダウンロード。最新版の0.9.5.3のzipファイルをダウンロードする。

$ cd /tmp
$ wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.zip
$ wget http://bart.eaccelerator.net/source/0.9.5.3/SHA1SUM

2) ソースコードの検証

SHA1によるハッシュがついているので検証。

$ sha1sum eaccelerator-0.9.5.3.zip
3aa49f8dd48e77f8f9b92b62f66efd70f5849fef  eaccelerator-0.9.5.3.zip

ダウンロードしてきたSHA1SUMファイルのハッシュ値と合っていればOK。

$ cat SHA1SUM
6671a105497f41c4e93e0b84da516b72df159fc5  eaccelerator-0.9.5.3.tar.bz2
3aa49f8dd48e77f8f9b92b62f66efd70f5849fef  eaccelerator-0.9.5.3.zip

3) 解凍

アーカイブを展開して作成されたディレクトリに移動します。

$ unzip eaccelerator-0.9.5.3.zip
$ cd eaccelerator-0.9.5.3

4) コンパイル

php-configコマンドのありかをあらかじめ調べておくこと。

$ phpize
$ ./configure --enable-eaccelerator=shared \
  --prefix=/usr/local/ \
  --with-php-config=/usr/bin/php-config
$ make

5) インストール

おもむろにmake installします。インストール先はPHPモジュールが入っているところになります。うちの環境では/usr/lib/php/modulesでした。

$ sudo make install

6) 設定とapacheの再起動

以下の設定をphp.iniに埋め込む(内容は別エントリ、あるいはwikiに書きます)。

extension=eaccelerator.so
eaccelerator.shm_size="32"
eaccelerator.cache_dir="/tmp/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="1"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

apacheを再起動する。

$ sudo /usr/sbin/apachectl restart

7) 確認

phpinfo()でeAcceleratorの項目があったら動作している。

[flickr]photo:2867589722[/flickr]

もしくはphp -vの出力にeAcceleratorが含まれていてもよい。

$ php -v
PHP 5.1.6 (cli) (built: Nov  3 2006 07:27:53) 
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
    with eAccelerator v0.9.5.3, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
    with Zend Extension Manager v1.0.10, Copyright (c) 2003-2006, by Zend Technologies
    with Zend Optimizer v3.0.1, Copyright (c) 1998-2006, by Zend Technologies

[ad#text_wide]