メイン なんでも Notice嵐対応方法 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
taquino | 投稿日時: 2005-11-11 23:20 |
管理人 登録日: 2004-10-22 居住地: 湘南 投稿: 1543 |
Notice嵐対応方法 PHPバージョンアップに伴うNoticeエラー多発に対する「表示をさせない方法」についてです。XOOPS Cube公式のフォーラムでは既出ですので、まとめみたいなものです。
要は管理者メニュー→システム管理→一般設定で「デバッグモードを有効にする」を「オフ」にすれば良いんですが、更にいくつかの情報があるので書かせて頂きます。 ひとつは標準のnewsモジュールで、これはモジュール内にデバッグモードをオンにするコードが含まれています。 これには、公式のフォーラム記事にある通り、newsモジュール中の modules/news/submit.php の33行目あたりにある「error_reporting(E_ALL);」をコメントアウトすることが必要です。
とするわけです。 実際には、トラブル発生時などにはデバッグモードをONにする必要も出てきます。 この際、Noticeエラーは解決の糸口になることもあるにはありますが、多くの場合はトラブル原因ではないものだったりします。 そこで、Noticeエラーを出さないハックを紹介しておきます。 まず、include/common.php の103行目あたりを編集し、「E_ALL」を「E_ALL ^ E_NOTICE」とします。
更に、class/errorhandler.php の149行目あたりにある「foreach( $this->_errors as $error )」の次の行に「if ($error['errno'] == E_NOTICE) { continue; }」を追加します。
この結果、Noticeが1行残るようではありますが、嵐は襲ってこなくなります。 上記は、XREA.COMの環境で検証してみました。もちろん、コアのハッキングなのでリスクが無いわけではありませんから、元に戻せるように準備し、自分の責任の下で行ってください。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |