5

PHP Web システムの開発中は、E_ALL | E_STRICTerror_reporting に設定し、通知エラーを含むあらゆる種類のエラーに対処することをお勧めします。

しかし、リリースされたシステムでは、通知エラーが発生したときにシステムを停止する必要がありますか?

それとも、E_ERROR が発生したときだけシステムを停止し、E_WARNING、E_NOTICE、または E_STRICT などの他のすべてのエラーを無視する必要がありますか?

カスタム エラー ハンドラでどのタイプのエラーを処理し、システムを停止 (終了) する必要がありますか?

4

1 に答える 1

4

コードを開発するときは、通知を含むすべての警告に注意する必要があります。

本番環境では、エラーで実際に停止するべきではありません。代わりに、、、set_error_handler()などのエラーを管理するためにE_USER_ERROR使用できます。クライアントをカスタムページにリダイレクトし、あらゆるタイプのエラーに対してカスタムメッセージを表示します。重要なのは、デフォルトのエラー情報を残さないことです。E_USER_WARNINGE_USER_NOTICE

本番サーバーで(電子メールなどを介して)発生したエラーを常に報告し、できるだけ早く処理するシステムを用意する必要があります。

php.net/set_error_handlerには、作業を大幅に楽にし、エラーや警告を追跡するのに役立つ例がたくさんあります。

于 2012-10-06T11:46:38.650 に答える