PHPバージョンアップの際に発生するタイムゾーンエラーの対処方法
PHPのバージョンを5.3.6にアップグレードさせたところ、date関数やstrtotime関数などの日時関連の関数を使用しているプログラムで、Warningが出るようになってしまいました。
エラー内容
デフォルト状態でdate関数やstrtotime関数などの日時関連の関数を使用すると、下記のようなエラーが発生します。
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 ~.php on line ~
どうも、デフォルトタイムゾーンを設定しなければならなくなっているようです。
対処方法
解決方法は簡単なのですが、php.ini、.htaccess、プログラム内記述のどれでも対応可能なため、それぞれの方法を以下に記載しておきます。
php.ini制御で対処する場合
[Date]セクション内の下記部分を編集
;date.timezone =
↓↓↓
date.timezone = Asia/Tokyo
【スクリプト全てに対して適用されます】
[Date]セクション内の下記部分を編集
;date.timezone =
↓↓↓
date.timezone = Asia/Tokyo
【スクリプト全てに対して適用されます】
.htaccess制御で対処する場合
下記を追加
php_value date.timezone Asia/Tokyo
【.htaccess制御範囲内のスクリプト全てに対して適用されます】
下記を追加
php_value date.timezone Asia/Tokyo
【.htaccess制御範囲内のスクリプト全てに対して適用されます】
プログラム制御で対処する場合
下記を追加
date_default_timezone_set('Asia/Tokyo');
【記述を追加したスクリプトのみに対して適用されます】
下記を追加
date_default_timezone_set('Asia/Tokyo');
【記述を追加したスクリプトのみに対して適用されます】
困っている方のお役に立てれば何よりです。
日時:2019年09月16日(月) 18時18分25秒 |
[…] ※以下のサイトを参考にタイムゾーンを設定。kngy.net / PHPバージョンアップの際に発生するタイムゾーンエラーの対処方法 […]