PR

[CakePHP] PHP5.2→5.3でエラー / CakePHP1.3.8→1.3.14 でエラー

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;

関連投稿

コメント