2013年12月9日月曜日

phpのタイムゾーンエラー (警告)

Unknown: It is not safe to rely on the system's timezone settings. (in Unknown on line 0)

phpで次のような警告(タイムゾーン)が出ている(事後発覚)場合があります(した)。

PHP Warning:  Unknown: 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 the timezone 'UTC' for now, but please set date.timezone to select your timezone. in Unknown on line 0

タイムゾーン設定がされていない場合ですね。
早速、タイムゾーンの設定をして荒ぶるphpさんを黙らせたいと思います。

ではでは、まずは現状の確認から。

[root@centos5.8 ~]# php -i | grep timezone
Default timezone => UTC
date.timezone => no value => no value

php.inidate.timezoneえいじあーとおきょおおおおおおおおう(Asia/Tokyo)を指定してApacheを再読み込みで。

[root@centos5.8 ~]# vi /etc/php.ini
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =               ← コメントアウトを解除して
date.timezone = Asia/Tokyo     ← Asia/Tokyo を追記しました

今回のわたしの環境はPHP5.4でしたので、こちらの方の記事を知識の参考とさせて頂きました。ヽ(´▽`*)ノ

わたしの方では検証していませんが、他サイトさん(こことかここ)の情報によれば、timezoneの設定で日付を扱うphp関数の速度が結構違うみたいですね。