もう午前4時だ・・・俺はまだ十日市にいる。
ずっと PHP のインストールをしていたのだ。
今日時点で最新の PHP 5.3.8 をインストールしたところ、phpinfo の実行で、
Warning: phpinfo() [function.phpinfo]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Tokyo' for 'JST/9.0/no DST' instead in /var/apache/htdocs/test.php on line 1
というようなワーニングが出てしまう。
どうも、Default timezone と php.ini で設定している timezone が同じでないと警告されるようなのだ。セキュリティの問題なのかな?よくわからんが、5.3系からの仕様らしい。
php.ini 内に
date.timezone = Asia/Tokyo
という記述を加えれば解決するらしいのだが、ここで困った問題が。
configure した時、特に --with-config-file-path は指定していないので、出来上がった php は /usr/local/lib/php.ini を参照するはずである。
なのに、phpinfo で表示されている Configuration File (php.ini) Path は /usr/local/php/lib を指しているのである。
/usr/local/lib/php.ini に date.timezone の記述を追加し、httpd を再起動しても状況変わらず。だからといって、/usr/local/php/lib/php.ini に同じものを置いても、やっぱり状況変わらずなのだ。どうにも php.ini の内容が反映していない様子。(ちなみに、ブラウザのキャッシュが・・・というような素人じみた落ちは無い(^^;)
何度か --with-config-file-path オプションをつけて再インストールしてみたのだが、何か php 動かなくなっちゃったし(^^;
make clean してやり直していたのだが、make clean した後でソース展開したディレクトリも消して、ソースを展開するところからやり直せばよかったのかな・・・
どうも、make clean だけではさっぱりきれいにならないようである。
結局、解決策は、
5.2系をインストールする
・・・である(^^;
元々ユーザー要件としては「PHP 5.2 のインストール」となっていたので、その最新の 5.2.17 をインストールした。
5.2系は良いなあ。
Default timezone と php.ini で設定している timezone が同じでなくとも、ワーニングなんか吐かない。
そして、php.ini に date.timezone の記述を追加して httpd を再起動すれば、phpinfo の date.timezone directive に関する情報も、すぐに Asia/Tokyo に変更された。
う~ん・・・何か、もっと configure の時に色々とオプションが必要だったんかなあ?
ま、今回は 5.2.17 でまったく問題無いんだけど、今後のことを考えると、5.3系で上手くいかなった理等を調べておきたかったな。
ま、もう、今日は駄目です(^^;
今から岩国まで帰れるかなあ・・・