PHPの標準タイムゾーン

PHPを5.3にアップデートしたところ、様々なアプリで以下のようなワーニングが出てしまいました。

PHP Warning: date() [<a href='function.date'>function.date</a>]: 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 /www/hoge.php on line 100

これはdate()関数の仕様が変わったのが原因だそうで、date()関数の実行前にデフォルトのタイムゾーンを設定しないといけないみたいです。

設定の方法は2種類あって、ひとつは各プログラムごとに、以下の関数を実行してデフォルトのタイムゾーンを設定する方法。

date_default_timezone_set('Asia/Tokyo');

もうひとつは、php.iniで以下の設定をするという方法。

date.timezone = Asia/Tokyo

一つ目の方法ではプログラム全てに修正を加えないといけないので、僕は二つ目の方法で対処しました。

コメントを残す