ホームページ  >  記事  >  バックエンド開発  >  PHP 例外レポート設定が有効にならない

PHP 例外レポート設定が有効にならない

WBOY
WBOYオリジナル
2016-06-13 12:04:03929ブラウズ

PHP エラー報告設定が有効になっていませんか?
このような問題が発生しました。マシン (MAX OS、PHP5.4.24) にインストールし、設定ファイルでエラー報告をオンにしました (display_errors = On; and error_reporting = E_ALL & ~E_NOTICES)。エラー報告をオフにしたい場合は、
ini_set('display_errors', 0);
error_reporting(0);

なぜ有効にならないのですか?上記 2 つの機能を使用した場合でも、必ず致命的なエラーが報告されます。ブロックする方法はないのでしょうか?設定ファイルをOFFに変更する必要がありますか?
そこでマニュアルを見てみました。
注:
display_errors は実行時に (ini_set() を使用して) 設定することもできますが、スクリプトで致命的なエラーが発生した場合、実行時の設定は無効になります。この場合、期待された操作が実行されないためです。

上記の記述をどのように理解しますか?それはプログラムに致命的なエラーがあり、ini_set が無効であることを意味しますか?エラーレポートが表示されるかどうかは、ini 設定に完全に依存します。ということは、レポートを一時的に変更することは不可能なのでしょうか?構成を変更してサービスを再起動することのみが可能です。 。 。 。


説明をお願いします。 。



-----解決策---------------------------- ----
エラーが ini_set('display_errors', 0);
の前に表示される場合、エラー メッセージを出力する必要があります
致命的なエラーはほとんどが構文エラーであり、ini_set('display_errors', 0);
の前に必ず表示されます。実行中

エラー メッセージをログ ファイル
に送信することも、開発環境と実行環境で異なる php.ini を使用することもできます------解決策----------- ---------

ini_set('display_errors','off');
error_reporting(0);

ページの先頭に置いてみてください。 ------解決策----------------------

display_errors はエラーを表示することを意味します。
どうすればオフにするとエラーが表示されるのでしょうか?
エラー情報をファイルにリダイレクトしても、display_errors をオフにできるという意味ではなく、出力デバイスが変更されるだけです。

関数にパラメータが欠落していたり​​、除数は 0 .....-----解法---------

この投稿は最終的に xuzuning によって編集されました on 2014-08-01 17:03:57
こんな余計なことはしないでください
1. エラー表示をオフにすると、構文解析フェーズで発生したエラーが直接表示されます。 HTTP 500 エラーが発生します
そのため、少なくともエラー表示をオンにしてエラー ログにリダイレクトする必要があります
2. 操作中に生成されたすべてのエラーは、set_error_handler 関数を通じてカスタム エラー ハンドラーにリダイレクトできます
カスタム エラー ハンドラーでは、必要なアクションを自由に実行できます
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。