PHP - タイムゾーンエラー!
Updated:
当方の自宅サーバ(ScientificLinux6.0)で何か動きが重いことがあるのでログをチェックしてみると、 apacheのエラーログに以下のようなエラーが非常に大量に出力されていました。 ログローテーションしているけどファイルが2GB以上になっていて、Tripwireのファイル改ざんチェックでも引っかかっています。
[Sun Jul 03 03:55:52 2011] [error] [client 999.999.999.999] PHP Warning: strtotime(): 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/www/wordpress/wp-includes/functions.php on line 33
[Sun Jul 03 03:55:52 2011] [error] [client 999.999.999.999] PHP Warning: date(): 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/www/wordpress/wp-includes/functions.php on line 105
調べてみるとPHPのドキュメントに以下のような記述がありました。
date.timezone string
PHP 5.3.0 より前のバージョンで、 環境変数 TZ が設定されていない場合に 全ての日付/時刻関数で使用されるデフォルトのタイムゾーン (PHP 5.3.0 以降では 環境変数 TZ を参照しなくなりました)。 優先順については、date_default_timezone_get() のページで解説されています。サポートしているタイムゾーンについては サポートされるタイムゾーンのリスト を参照ください。
解決策を調べてみると、php.ini内の”date.timezone”部分を以下のようにすればよいようです。
date.timezone = Asia/Tokyo
(date_default_timezone_set関数を設定する方法もあるようですが未確認)
これでログが肥大化しなくなり、今までより動作が軽くなったようにも感じます。
以上。
Comments