3

したがって、php.iniでこのディレクティブを設定すると

error_reporting = E_ALL&〜E_DEPRECATED

apacheのリロードまたは再起動後も、これらのエラーが発生します。

Thu Sep 13 10:51:10 2012] [error] [client 173.59.22.4] PHP非推奨:参照によるnewの戻り値の割り当ては非推奨になりました

などなどなど。

何か案は?php.iniが非推奨をリストしないためにこのディレクティブをリッスンしない理由がわかりません。

PHP 5.3.3(cli)(ビルド:2012年7月3日16:53:21)Copyright(c)1997-2010 PHP Group Zend Engine v2.3.0、Copyright(c)1998-2010 Zend Technologies

4

4 に答える 4

2

これはデバッグに何年もかかりました。古いバージョンの phprunner によって生成されたコードは、「非推奨の関数 mysql_connect が原因でクラッシュしていました。

error_reporting(E_ALL & ~E_DEPRECATED); // was being ignored

これは、コードが独自のエラー処理関数「エラー ハンドラ」を使用していたためです。

set_error_handler("my_error_handler"); // override error_reporting()

私がしなければならなかったのは、関数 my_error_handler() に次の行を追加することだけでした

if ($errno==8192) return 0;   // ignore Deprecated

私はphp.iniをいじって何年も無駄にしましたが、それとは何の関係もありませんでした!

于 2014-11-10T10:47:40.130 に答える
1

error_reporting は、スクリプトのどこかで呼び出された可能性があります。

これを使用して、エラーが発生する前にリセットできます。

error_reporting(E_ALL & ~E_DEPRECATED);
于 2012-09-13T11:10:58.643 に答える
0

この設定の値を変更できる場所がいくつかあります。これには、非常に一般的に見られるini_seterror_reporting関数が含まれます。誰かがそれらの 1 つからそれを変更しています。

于 2012-09-13T11:10:43.550 に答える