知らなかった。



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