[PHP]「Warning: strtotime():~」のエラーがでたときの対応方法

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

vpsサーバーにlamp環境を用意して、phpの開発を行い始めるとエラーが見慣れないメッセージが表示されるときがあります。今回はstrtotime関数に関するエラーのお話です。

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

英文をそのまま読むと現在のタイムゾーンは’UTC’ですが、システムのタイムゾーンに依存するのは危険なのでタイムゾーンを設定してください…と表示されているみたいです。

  • php.iniのdate.timezoneを設定する
  • date_default_timezone_set関数を呼び出す

と丁寧に対処方法まで記載されています。

具体的にはPHPのプログラム内で対応するときは、strtotime関数を呼び出す前に

date_default_timezone_set(‘Asia/Tokyo’);

を定義する。もしくはphp.iniのファイル内にタイムゾーン

date.timezone = Asia/Tokyo

を設定すれば良いようです。