portsでphp4とopenssl


サーバのほとんどでFreeBSDを使っているのだが、それが故にハマったのでメモしておく。
portsでphpをinstallしているのだが、後になって、phpのOpenSSLサポートが使いたくなった。
普通ならば、security/php4-opensslをinstallするのだけれども、これだとfsockopen()を使うと、
opensslがenableになっていない( no SSL support in this build )とエラーメッセージが出てしまう。
phpinfo()してやっても、opensslがenableになっているので、数時間悩んだのだが、結局のところ、
php4は、openssl extensionがstatic linkされていないといけないらしい。
たしかに、phpのソースのext/standard/fsock.cあたりを見るとそんな感じ。
lang/php4でmake distclean; make cleanしてから、念のために /var/db/ports/php4/optionsを
削除して、makeすると、ダイアログが表示されて、そこでopensslをstaticでcompileするか確認
されるので、コンパイルしなおした。
ロードバランサの奥のマシン全部コンパイルしなおしなので、ものすごく面倒だった。