PHPのフレームワークCakePHPで作ったシステムをサーバー上で稼働させたら

Warning (2): strtotime() [function.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 ‘Asia/Tokyo’ for ‘JST/9.0/no DST’ instead [CORE/cake/libs/cache.php, line 585]

のエラーメッセージが表示されました。エラー内容からして、以前、当ブログでも書いたPHPで「Warning: strtotime()~」のエラーが出た時の対処方法で直ると思ったら、あれれ?直らない。

 その別の対処方法がありましたので、下記に明記しておきます。

 原因はPHP 5.3を使用しているときに発生するようで、対処方法はCakePHPの設定ファイルcore.phpの250行目付近にあるdate_default_timezone_setのコメントアウトされているのを解除します。デフォルトの状態では下記のようになっています。ちなみに、今回遭遇したエラーはCakePHP 1.3です。その他のバージョンでは未確認です。

/**
* If you are on PHP 5.3 uncomment this line and correct your server timezone
* to fix the date & time related errors.
*/
//date_default_timezone_set(‘UTC’);

 このコメントアウトを解除したら、引数の「UTC」を日本用の「Asia/Tokyo」にセットします。下記のように

date_default_timezone_set(‘Asia/Tokyo’);

 もし、引数を「UTC」のままにするとデータ登録時などの日付が協定世界時、つまり、日本時間の9時間前の時間になってしまいます。

 CakePHPの設定にこのような設定があるとは知りませんでした。もっとcore.phpなどを見る必要がありますね。

アマゾンのサーバでエラーが起こっているかもしれません。
一度ページを再読み込みしてみてください。