2014年3月1日土曜日

HP修正完了しました

HPがエライことになっていた件を知ったのが出掛ける寸前…
時間がなかったためエラーメッセージすら確認出来ず
ブログで報告だけして家を出ました。(汗

日付が変わる寸前に帰宅後エラーメッセージを確認。
やはりサーバのPHPバージョンアップの影響ですね。
PHP5.3定番のエラーが出ていました。

Deprecated: Assigning the return value of new by reference is deprecated in...
Deprecated: Function ereg() is deprecated in...

PHP5.3以降で現れたこのあたりの『Deprecated』エラーは、
簡単に言うと『その書き方は推奨していないよ』ってな
いわばいらんお世話なエラーメッセージ。

PHP: PHP 5.3.x で推奨されない機能 - Manual
PHP 5.3.0 では新しく二つのエラーレベルが加わりました。 E_DEPRECATED と E_USER_DEPRECATED です。 E_DEPRECATED エラーレベルは、 特定の機能が推奨されないことを示すのに使います。 E_USER_DEPRECATED エラーレベルは、ユーザー定義のコードで推奨されない機能、たとえば E_USER_ERROR や E_USER_WARNING のようなものを示すのに使います。

これなら過去に何度か対応したことがあります。

php.iniに

error_reporting=E_ALL&~(E_NOTICE|E_DEPRECATED)

と記述してあげればいらんエラーメッセージが消えるはず。
ってあれ?
このサーバってphp.iniを個別に触れなかった気が…(汗

そうなるとec-cubeの『error_reporting』自体をいぢるしかないか。
ってことで『error_reporting』に↓を表記して終了。

error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);

早速確認をしてみたところ完全にエラーメッセージが消えていました。
深刻なエラーじゃなくて一安心です。
Tさまありがとうございました。

しかし修正自体は10分ほどで終わったのですが、
ココに書くのにエライ時間がかかってしまいました。(笑


広島ブログ

以下いつもの通り私のメモ用として

==================================================================
▼サーバのPHPバージョンアップによる『Deprecated』エラー修正
     変更前PHPバージョン:PHP5.2.17
     変更後PHPバージョン:PHP5.3.28  

------------------------------------------------------------------
\eccube\data\class/SC_Initial.php
 101行付近
-------------------------------------------------------------------
変更前
-------------------------------------------------------------------
    function setErrorReporting() {
        error_reporting(E_ALL & ~E_NOTICE);
    }
-------------------------------------------------------------------
-------------------------------------------------------------------
変更後
-------------------------------------------------------------------
    function setErrorReporting() {
        error_reporting(E_ALL & ~E_NOTICE);
        error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);
    }
 
-------------------------------------------------------------------

0 件のコメント:

コメントを投稿