PHP をバージョンアップ(5.2.17 → 5.3.9)し、CakePHP をバージョンアップ(1.3.8 → 1.3.14)したところ、エラーに遭遇したのでメモ。
※画像と本文は関係ありません
スポンサードリンク
PHP5.2.17 → 5.3.9 でエラー
PHP をバージョンアップしたところ、CakePHP 1.3.14 でエラーが表示された。
エラー例
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 597]
Notice: Trying to get property of non-object in /home/*****/cake1314/cake/libs/cache/file.php on line 262
Fatal error: Call to a member function cd() on a non-object in /home/*****/cake1314/cake/libs/cache/file.php on line 262
解決方法
エラーに書かれている通り php.ini にタイムゾーンを追記する。必須となったようだ。
CakePHP 1.3.8 → 1.3.14 でエラー
SQL を記述する都合上、プレフィックスを取得する必要があったのだが、自作のプレフィックス取得関数を使っている複数ヶ所のうち、1箇所のみ何故かエラーとなった。
エラーSQL を見ると、プレフィックスが2度出力されているようだったので、取得をやめたところ正しく動作した。
// for CakePHP1.3.14
// $prefix = $this->_getPrefix();
$prefix = null;
コメント