[PHP]dateの初期値を設定しないとエラーとなっている

PHPを使う人はレンタルサーバーを使っていると思いますが、自分で構築したりする人もいると思います。
PHP5.1.0以降はタイムゾーンを正しく設定せずに使うとエラーが発生するようになっています。
表にはでていないけど、apacheのエラーログを出ている事もあるので注意しましょう。

どんなエラーが吐かれているのか

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 the timezone ‘UTC’ for now, but please set date.timezone to select your timezone. in /home/xxx/xxx.php on line 1

このようなエラーが出ていれば設定されていません。
「date.timezone」か「date_default_timezone_set() 」に必ず設定してねという事です。

php.iniに設定する

一番簡単で確実な方法は、php.iniを編集することです。
「date.timezone」と書いてある行を探し下記のようにします。
#が先頭についていればコメント行として扱われていますので、#を消してください。

# php.ini

date.timezone = Asia/Tokyo

 プログラムに設定する

php.iniに変更ができない環境の場合は、プログラムに書くこともできます。

date_default_timezone_set('Asia/Tokyo');

これを書いてからアクセスしてエラーログなどに表示されなければ成功です。
表に表示されなくてもエラーがあれば無くすようにしていきたいものですね!

スポンサーリンク
  • このエントリーをはてなブックマークに追加
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください