Posted on

php5.3の環境にCakePHPアップしたらDeprecatedエラーが・・・

php5.3の環境にCakePHPアップしたらDeprecatedエラーが出まくりだったのでメモ

開発環境から本番環境にソースをアップしてブラウザでアクセスしたら

「Deprecated: Assigning the return value of new by reference is deprecated in…」
のメッセージが大量に出た、どうもphp5.3からエラーの定義が変わったのが原因みたい。

どうも5.3からerror_reporting()に定義がかわり、E_ALL値が変更されたらしい。

PHP: 定義済み定数

cake/libs/configure.phpの297行目くらいに下記のコードを追加してエラーの出力を調整

if (isset($config['debug'])) {
if ($_this->debug) {
error_reporting(E_ALL);
//php 5.3のエラー出力調整(ここから追加)
if (error_reporting() > 6143) {
error_reporting(E_ALL & ~E_DEPRECATED);
}
//php 5.3のエラー出力調整(ここまで追加)