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);
}

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

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

LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。

Webサイト制作の実績・料金を見る

この記事のシェア数

プログラマのまっちーです。酒が大好きです。ある一定量のお酒を飲むと壊れたレディオモードに入り、同じことを繰り返す癖があります。宜しくお願いいたします。

このメンバーの記事をもっと読む