Blogブログ

PHPのstrftime関数でWarning出現!

2013/05/22

strftime()という関数が5.1.0からデフォルトタイムゾーンを指定しないとWarningを出すようになったらしい。

私は普段Smartyを使っているのですが、Smartyの中でこの関数を使っていて、

サーバーを移植したらWarningが出るようになりました。

Warningの原文はこんな感じ。

Warning: strftime(): 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 ~~~

Warningを消すための対応としては

strftime()関数を呼ぶ前にデフォルトタイムゾーンを指定してあげます。

date_default_timezone_set('Asia/Tokyo');

こんな一文をphpの中に書いておけばWarningは消えます。

もしくはphp.iniに書いてあげても良いです。

php.iniの場合はこんな感じ。

date.timezone = Asia/Tokyo

では! ノシ。

他社より断然お得で使いやすい
”アクトのWEB制作”
ACTホームページ相談窓口 / 
システム開発相談窓口