5

私の現在の php.ini ファイルは、次のように非推奨と厳格な基準以外のすべてのエラーを報告するように設定されています。

error_reporting = E_ALL & ~E_STRICT & ~E_DEPRECATED

この設定を使用する理由は、Web サイトをホストしている Linux サーバーで PHP のアップグレードを緊急に実行する必要があるためです。非推奨の関数と厳格な標準の推奨事項により、170 以上の Web サイトのエラー ログ ファイルがすぐにいっぱいになるという問題があります。エラーは主に、関数が静的として宣言されていないなどの小さなことが原因です。最終的にはすべてのサイトを調べてこれらの問題を修正しますが、それまでの間、エラーを抑制する必要があります。

ローカルのテスト環境 (5.4.3 にアップグレードしようとしているバージョンの PHP を実行している) で私が抱えている問題は、以前に次のように出力されたままエラーが表示されることです。

SCREAM: Error suppression ignored for

エラー抑制が無視される理由と、エラーを適切に抑制する方法について、誰かが私に洞察を与えることができますか?

前もって感謝します。

4

1 に答える 1

8

悲鳴の拡張機能を使用しているようです。マニュアルから:

悲鳴の拡張は、すべてのエラーが報告されるように、サイレンシング エラー制御オペレーターを無効にする可能性を提供します。この機能は、ini 設定によって制御されます。

Screamは、できるだけ多くのエラー メッセージを表示することを目的としたデバッグ用の拡張機能です。これは、@オペレーターを無視し、常に最高の error_reporating レベルを使用できるようにすることによって行われます。(error_reporting設定に関係なく)。そのため、php.ini で拡張機能を無効にする必要があります。

scream.enabled = off

ところで:コードエラーのある170のWebサイトを持つサーバーを更新しません。それは今、時を刻む爆弾です。それらをサイトごとに新しい PHP バージョンに移行することをお勧めします。移行プロセス中に 2 台のサーバーを並行して使用する場合があります。

于 2013-03-04T16:15:22.940 に答える