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

【スクリプト全てに対して適用されます】
.htaccess制御で対処する場合

下記を追加
php_value date.timezone Asia/Tokyo

【.htaccess制御範囲内のスクリプト全てに対して適用されます】
プログラム制御で対処する場合

下記を追加
date_default_timezone_set('Asia/Tokyo');

【記述を追加したスクリプトのみに対して適用されます】

困っている方のお役に立てれば何よりです。

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

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加
  • コメントを残す