PHP:PHP5.1.0以降で発生するDATE関数エラー

Adobe
スポンサーリンク

date.timezoneのエラー

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’ .

CMSをインストールするなどして上記のようなdate.timezone(デイト タイムゾーン)エラーが表示されたら、php.iniかphpファイルに1行追加することで問題を解消できます。

ちなみに、上記エラーを日本語にすると、こんな感じ。

PHP警告:date(): システムのタイムゾーン設定に依存するのは安全ではありません。date.timezone設定もしくは、the date_default_timezone_set()機能を使わ*なければなりません*。すでにいずれかのメソッドを採用しているにもかかわらずこの警告が表示される場合、タイムゾーン指定の記述に誤記がある可能性が高いです。’Asia/Tokyo’を選択しました。

このエラーは、PHP5(PHP5.1.0以降)からの仕様変更によるもので、デフォルトタイムゾーンを設定せずにDATE関数を使用すると発生するエラーです。

解決方法は2つ

仕様変更されてからかなりの年数経ちますが、ぼーっと生きているとつい忘れてしまうので備忘目的で解決方法を記します。

解決方法の選択しは二つ。「PHPファイル内にdate_default_timezone_set関数を記述する」または「php.iniにdate.timezoneを設定する」のどちらでも良いです。

PHPファイル内にdate_default_timezone_set関数を記述する

DATE関数を使用するPHPファイル内に下記の通り記述します。

date_default_timezone_set(‘Asia/Tokyo’);

記述を追加すべきファイルのパスは、上述のエラーメッセージの中に書かれています。(上述のエラーメッセージからは削除してあります。)

php.iniにdate.timezoneを設定する

php.ini(php設定ファイル)にタイムゾーンを設定すれば、date_default_timezone_set関数を記述しなくてもエラーを解消できます。

date.timezone = Asia/Tokyo

php.iniファイルのhttps://secure.sakura.ad.jp/rscontrol/rs/phpini場所はそれぞれ異なりますが、さくらインターネットの場合はコントロールパネルからphp.iniファイルを編集できます。

サーバコントロールパネル>アプリケーションの設定> PHP設定の編集

以上

タイトルとURLをコピーしました