php5パッケージにはApache向けphpモジュールが含まれていない件について

知らなかった。

FreeBSDを載せてサーバにしている自宅マシンは、CPUがセレロン300MHzの化石だ。
OS自体のアップグレードを自前ビルドでやるのはとうの昔にやめていて、snapshotからインストールする状態だった。が、そろそろportsのビルドも時間がかかるようになってきたので、こちらもpackageでバージョンアップするようにした。

そして先日、php5をpackageでバージョンアップしたところ、Apache上のphpスクリプトが動かなくなってしまった。
これはphp5のパッケージにはlibphp5.soが含まれていないのが原因。

なお、パッケージに含まれるファイル一覧は、pkg_info -Lで得られる。
ただ、引数としてバージョンも含めたパッケージ名を与えなければならないので、/var/db/pkg配下のディレクトリ名を調べるか、pkg_info -Ixで調べる。

$ pkg_info -L php5|grep libphp5.so
pkg_info: can't find package 'php5' installed or in a file!
$ pkg_info -Ix php5
php5-5.2.6_2        PHP Scripting Language
$ pkg_info -L php5-5.2.6_2|grep libphp5.so
$

まあ、確かにApacheモジュールのインストールを標準設定にするわけにはいかないので、これは仕方ないと思う。

というわけで、php5をportsからインストールしなおした。
pkg_info -Lの内容も当然ながら変化している。

$ pkg_info -L php5-5.2.6_2|grep libphp5.so
/usr/local/libexec/apache22/libphp5.so