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するか確認
されるので、コンパイルしなおした。
ロードバランサの奥のマシン全部コンパイルしなおしなので、ものすごく面倒だった。

  1. >ロードバランサの奥のマシン全部コンパイルしなおしなので、ものすごく面倒だった。
    一つのマシンでmake packageして、残りはそのバイナリを使ってportupgrade -PPすれば多少は楽かも?

  2. Xeonの種類とで、インストールしているFreeBSDのプラットフォームがi386だったりamd64だったり、make.confのCPUTYPEを変えていたりして数が多いんです……
    otsuneさんのblog、参考にさせていただいています。
    ふだんは、pkg_create -b hogeしてます。

  3. お久しぶりですね。
    > /var/db/ports/php4/optionsを
    make config するというのが ports 風ではあります。

  4. お久しぶりです。気が付いたらここ数ヶ月まともにエントリを書いていませんでした。
    だめですね。。。
    > make config するというのが ports 風ではあります。
    なるほど、どうするのが正しいのかと思っていたら、make configでしたか。
    ダメですねぇ。

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>