Zend Optimizer とは?
Zend Optimizer はPHPコードの最適化を行って、処理を高速化するライブラリです。
Zend OptimizerによってPHPスクリプトの実行速度が数%から数十%まで高速化すると言われています。
Zend Optimizer のダウンロード
下記URLでZend Optimizerの説明がされています。
http://www.zend.co.jp/product/zendoptimizer.html
Zend Optimizer をダウンロードするには、MyZendに会員登録しなければいけません。
会員登録が完了したら、ユーザメニュー → ダウンロード → serverlinux → guardloader →ユーザメニュー → ダウンロード → Zend Guard → loader → Linux と辿っていくとダウンロードできます。
どうやら、このダウンロードページがたまに変わるようです。もし上記の手順でファイルを発見できなかったら、下記URLでダウンロードページを確認してみてください。
http://www.zend.co.jp/product/zendoptimizer.html
また、PHPのバージョンによってZendOptimizerのバージョンも変わってきますので、それも下記URLで事前に確認する必要があります。
http://www.zend.co.jp/product/zendoptimizer.html
ここでは、”ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz”をダウンロードしました。
Zend Optimizer のインストール
ダウンロードしたファイルをサーバにアップロードし、サーバで以下のコマンドを実行して解凍します。保存場所は適当な場所を選んでください。
# tar -xzvf ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz -C /usr/share/php/
解凍したディレクトリの中には、PHPの各バージョンに対応したダイナミックリンクライブラリ(拡張子が.soのファイル)があります。
# tree /usr/share/php/ZendOptimizer-3.3.9-linux-glibc23-x86_64 /usr/share/php/ZendOptimizer-3.3.9-linux-glibc23-x86_64 |-- EULA-ZendOptimizer |-- Inventory.xml |-- LICENSE |-- README-ZendOptimizer |-- data | |-- 4_2_0_comp | | `-- ZendOptimizer.so | |-- 4_2_x_comp | | `-- ZendOptimizer.so | |-- 4_3_x_comp | | `-- ZendOptimizer.so | |-- 4_4_x_comp | | `-- ZendOptimizer.so | |-- 5_0_x_comp | | `-- ZendOptimizer.so | |-- 5_1_x_comp | | `-- ZendOptimizer.so | |-- 5_2_x_comp | | `-- ZendOptimizer.so | `-- poweredbyoptimizer.gif `-- md5
このファイルへのフルパスをphp.iniに追記してサーバを再起動すると、Zend Optimizer のインストールは完了です。
例えば、サーバにインストールされているPHPのバージョンが5.2系なら以下のように設定ファイルに追記します。
# vi /etc/php.ini
下記を追記
[Zend]
zend_optimizer.optimization_level=15
zend_extension=/usr/share/php/ZendOptimizer-3.3.9-linux-glibc23-x86_64/data/5_2_x_comp/ZendOptimizer.so
# /etc/init.d/httpd restart
ZendOptimizerが有効になっているかどうかはphpinfoで確認することができます。
# php -r 'phpinfo();' | egrep -n '^(Zend Optimizer|Optimization)' 513:Zend Optimizer 515:Optimization Pass 1 => enabled 516:Optimization Pass 2 => enabled 517:Optimization Pass 3 => enabled 518:Optimization Pass 4 => enabled 519:Optimization Pass 9 => enabled
※ZendOptimizerはAPCと同時に動かすことはできないようです。(設定ファイルの書き方によっては動くという事例もありますが)
もし、ZendOptimizerが動作しない場合はAPCと衝突していないかどうか確認してみてください。