ホームページ >バックエンド開発 >PHPチュートリアル >PHPのdisplay_errorsとlog_errorsの違い

PHPのdisplay_errorsとlog_errorsの違い

WBOY
WBOYオリジナル
2016-07-25 09:03:281014ブラウズ
  1. # vim /etc/php.inidisplay_errors = Off
  2. log_errors = On
  3. error_log = /var/log/php-error.log
コードをコピー

error_log = syslog を設定することもできます。これらのエラー メッセージはオペレーティング システムのログに記録されます。 display_errors = Off //display は中国語で表示を意味するため、display_error=off はエラーを表示しないことを意味します。 error_reporting はエラー メッセージ レポートのレベルを設定します 2047 確か E_ALL だったはずです。 php.ini ファイルには多くの構成設定があります。 Linux に PHP および Apache 2 をインストールする手順 (「参考文献」を参照) に記載されているように、php.ini ファイルを設定し、適切なディレクトリに配置しておく必要があります。 PHP アプリケーションをデバッグするときに注意すべき構成変数が 2 つあります。 2 つの変数とそのデフォルト値は次のとおりです。 display_errors = Off //すべてのエラー メッセージをオフにします。 ON にすると、すべてのエラー メッセージが表示されます。 エラー報告 = E_ALL E_ALL は、不適切なコーディング手法から無害なヒント、エラーまで、あらゆるものをカバーします。 E_ALL は開発するには少し粒度が細かすぎます。小さいこと (変数が初期化されていないなど) についてのヒントも画面上に表示するため、ブラウザーの出力が混乱します。 したがって、2047 の使用は推奨されません。デフォルト値を次のように変更することをお勧めします: error_reporting = E_ALL & ~E_NOTICE

PHP.iniのdisplay_errors = Offの失敗の解決策

質問: PHP 設定ファイル php.ini では、display_errors = Off が明確に設定されていますが、動作中は引き続きエラー メッセージが Web ページに表示されます。 解決する: 公式の記述によれば、log_errors=On を確認した後、この log_errors が On に設定されている場合、error_log ファイルを指定する必要があります。指定されていない場合、または指定されたファイルに書き込み権限がない場合でも、ファイルは出力されます。通常の出力チャネルでは、display_errors の指定された Off が無効になり、エラー メッセージが出力されます。したがって、log_errors = Off に設定すると、問題は解決されます。

error_reporting (7) は、エラー メッセージ レポートのレベルの設定を意味するとよく見られます。

値定数 1E_エラー 2 E_警告 4E_パース 8 E_通知 16 E_CORE_ERROR 32 E_CORE_WARNING 64 E_COMPILE_ERROR 128 E_COMPILE_WARNING 256 E_USER_ERROR 512 E_USER_WARNING 1024 E_USER_NOTICE 2047 E_ALL 2048 E_STRICT ただし、7=1+2+4 エラーが発生した場合は、1 E_ERROR 2 E_WARNING 4 E_PARSE が表示されます。

  1. //エラー報告を無効にする
  2. error_reporting(0);
  3. //実行時エラーを報告する
  4. error_reporting(E_ERROR | E_WARNING | E_PARSE);
  5. //すべてのエラーを報告する
  6. error_reporting(E_ALL) ;
  7. ?>
コードをコピー


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。