Web事業部実績紹介
Web事業部実績紹介
2011.03.31

PHP5.3でEC-CUBEを動かしたら

まっちー

今さら感全開な記事ではあるんですが、久しぶりにEC-CUBEの案件を担当したので、ちょうどいいかなと思いました。

とあるタイミングで、まあ随分前の話なんですが、一度xamppをインストールし直したんですね。し直したっていうか、パソコンを新しくしたので入れ直したって言った方が正しいと思うんですけど。

そしたら、EC-CUBEのプロジェクトを開いたときに何やらよく分からないエラーが大量に出たんですよ。

Deprecated: Assigning the return value of new by reference is deprecated in ~

みたいな感じのエラー。これはどうやらPHP5.3の環境だと出るらしくて、ようはPHPのバージョンが新しくなってんぞこの野郎的なエラーってことです。CakePHPでも同じようなエラーが出ました。昔のプロジェクトとかを開くと、もんのすごい量のエラーが出る。

対処法は簡単で、error_reportの設定をちょいちょいと書きかえれば大丈夫のようです。

data/classにあるSC_Initial.phpファイルの中でエラーレベルの設定を行っている部分があります。たぶん100行目あたり。そこを書き換えてあげればいいようです。

function setErrorReporting() {
    //こいつをコメントアウト
//  error_reporting(E_ALL & ~E_NOTICE);

    //こっちに書き換え
   error_reporting(E_ERROR & ~E_NOTICE & ~E_PARSE);
}

原因が分かってしまえば何てことないですけど、今まで動いてたのがいきなり大量のエラーを吐き出すようになったら、ちょっと焦るよね。

「うおいっ! 俺が何したよ!?」ってね。