Zend Optimizer をインストール

APC は品質が信頼できず、eAccelerator は PHP 5.1.x 非対応でどうしたものかと思っていたところ、PHP 5.1.x 対応の Zend Optimizer 2.6.0 がリリースされたので導入してみました。
公式には FreeBSD 6.0 には対応していないので 5.4 用のものを使いましたが、今のところ普通に動いてます。
Zend Optimizer のインストールスクリプトは行儀が悪くて嫌いなので、手動でインストールしました。以下はその記録です。
まずはモジュールをコピー。

# cp ZendOptimizer-2.6.0-freebsd5.4-i386/data/5_1_x_comp/ZendOptimizer.so /usr/local/lib/php/20050922

Ports でインストールした PHP は /usr/local/etc/php(-cli).ini に加えて /usr/local/etc/php/*.ini も読むようになっているので Zend Optimizer 専用の設定ファイルをつくる。

echo 'zend_extension=/usr/local/lib/php/20050922/ZendOptimizer.so' > /usr/local/etc/php/optimizer.ini

モジュールがちゃんと読み込まれているか確認するために php -m すると

Failed loading /usr/local/lib/php/20050922/ZendOptimizer.so:  Shared object "libm.so.3" not found, required by "ZendOptimizer.so"

とエラーが出るのだけど FreeBSD 6.0 には libm.so.3 が見当たらないので代わりに

# ln -s /lib/libm.so.4 /usr/local/lib/libm.so.3

して再度 php -m すると

PHP Fatal error:  [Zend Optimizer] Zend Optimizer 2.6.0 is incompatible with Xdebug 2.0.0beta4 in Unknown on line 0

と、Xdebug とは排他関係にあるようなので Xdebug を無効にする。

# mv /usr/local/etc/php/xdebug.ini /usr/local/etc/php/xdebug.ini.x

これで OK でした。
Xdebug はマジ便利だから開発用の Mac には Zend Optimizer を入れられないな)