「It is not safe to rely・・・」というエラーが出る時の対処法[php]
phpで「It is not safe to rely・・・」のエラーが表示される時の対処法をご紹介します。直ぐ解決できます。
まえがき
みなさんお問い合わせフォームとかどうしてますか?
KoToRiはだいたい「Contact Form 7」を使いますが、たまに「AjaxMail」を使います。
この前、サクラインターネットでAjaxMailを動かしたらsendmail.phpで「It is not safe to rely・・・」という初めて見るエラーが表示されました。
日頃からAjaxMailを使用していますがこんなエラーは見たことありません。
焦りましたが対処法はすぐに見つかったので、みなさんが同じ轍を踏まぬようその時のことを共有したいと思います。
「It is not safe to rely・・・」エラーの意味
エラーの全文は下記になります。
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.
「date()」関数でエラーが出てます。
このエラーはどうやらデフォルトのtimezoneが設定されていないことが原因のようです。
「It is not safe to rely・・・」エラーの対処法
phpファイルで直接デフォルトのtimezoneを設定する
エラーが出ているphpファイルの先頭らへんに下記コードを記述してデフォルトのtimezoneを設定してやるとエラーが出なくなります。
date_default_timezone_set('Asia/Tokyo');
はい。これだけです。
まとめ
プログラムが得意じゃないKoToRiは知らないエラーがでるとマジ焦ります。
簡単に解決して良かったです。
因みに、AjaxMailから送られるメールの日時がアメリカかどっかの時間になっちゃってるのもデフォルトのtimezoneをここで紹介した通りに設定することで日本時間になります。
因みに因みに、ほかの方のブログだと
「php.ini」の「Module Settings」セクションで
date.timezone =
を
date.timezone = “Asia/Tokyo”
に変更するとエラー回避できると紹介されている記事が多くみられましたので万が一うまくいかない場合はお試しください。