Apahe22でPHP5を動かす(FreeBSD6.2編)

結局、portupgrade -a でパッケージをすべて最新バージョンに上げたのはいいが、PHP5のmbstringのフラグが有効になっているのか分からない。これは、次の内容をphpinfo.phpのようにして読ませれば確認できるので、まずはそれをすることにした。

<?php phpinfo(); ?> 

これで、クライアントのFirefoxから読ませようとすると、ファイルを保存するかと聞いてくる。いや、PHP情報をブラウザに表示してほしいのだが。設定内容がどうもダメらしい。修正したのは、/usr/local/etc/apache22/にあるhttpd.confで、こんな感じ。

....
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>
....
<IfModule mime_module>
    ....
    AddHandler cgi-script .cgi
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
</IfModule>
....

いろいろ調べてみたが、これというのが見つからない。AddType application/x-httpd-php .phpという記述が、AddType text/html .phpという例があったので、これを試してみた。ファイルを保存するかと聞かれなくなったが、ブラウザは真っ白で、何も表示されない。
httpd.confの最後ぐらいに、Includesにある設定ファイルも読むことが書いてあったので、そこを見てみたが、モジュールを設定したものがあるだけで参考にならない。ここで、php.confを検索してみると、なぜかphp4.confが引っかかった。これを参考に、/usr/local/etc/apache22/Includes にphp5.confというファイルを作って、次のようにしてみた。

<IfModule mod_php5.c>
  AddType application/x-httpd-php .php .phtml .php3
  AddType application/x-httpd-php-source .phps
</IfModule>

ビンゴ!! これで、これでクライアントのFirefoxで確認してみると、PHPの状況がすべて分かるようになった。ありゃ、mbstringがonになっていないじゃない。MakefileのMulti...のところを"off”から”on”に変更しても、ダメだったみたい。/usr/ports/langを眺めて、php-extentionsをmake installを実行して、mbstringオプションを選択してみたが、どうもそれも活きていない。
FreeBSDのウェブサイトをいくつか探してみたところ、次のおまじないが見つかった。Linuxでいうところの、./configureのようなものか。

# make config

これでメニューからmbstringの設定ができた。続いてmake installをやったが、途中でエラーが出てストップ。メッセージを読むと、既にインストールしてあるから、これを削除してからもう一度やってねというお言葉。それにしたがって、make deinstallでパッケージを削除してから、あらためてmake installを実行。
これで、mbstring機能が活きたPHP環境ができあがった。ちょっとした満足感が得られたけれども、次は何をすればいいだったかなぁ。あまりに長い構築作業で、目標を失いつつある。いかん、いかん、サーバを更新させるための作業だから、まだいろいろやらなくちゃいけない。