この記事では、PHP でエラー プロンプトをオンまたはオフにするいくつかの方法、error_reporting、およびエラー報告 PHP error_reporting (E_ALL ^ E_NOTICE) について詳しく紹介します。必要な友達は参照してください。
例:
Windows 環境: もともと php4.3.0 で正常に実行されていたプログラムが、4.3.1 で多くのエラーが報告されるのはなぜですか? 一般的なプロンプトは次のとおりです: Notice: Unknown varialbe: 変数名。
たとえば、は次のコードです:
コードは次のとおりです | コードをコピー |
if (!$tmp_i) { $tmp_i=10; } |
は4.3.0でも正常に動作しますが、 4.3.1 では問題なく動作します。 ヒント: 未定義の varialbe:tmp_i
質問は次のとおりです:
1. 問題はどこですか?
2. このコードはどのように変更する必要がありますか?
3. コードを変更せずに、4.3.0 の元のプログラムがこのエラー メッセージを表示せずに 4.3.1 環境で正常に実行できるように php.ini の設定を変更する方法:
開く。 PHP インストール ディレクトリにある php.ini ファイル
display_errors = On を見つけて、display_errors = off に変更します
注: PHP.ini ファイルを Windows ディレクトリにコピーした場合は、c:windows/php も変更する必要があります。 ini display_errors = On で、display_errors = off に変更します
スクリプト エラー プロンプトをログ ファイルとして出力する 2 番目の方法:
log_errors = off を見つけて、log_errors = に変更しますon
error_log を検索 = ファイル名を error_log="D:PHPerrlogphp_error.log" に変更します (ここでのディレクトリとファイル名 D:PHPerrlogphp_error.log は任意です) 注: PHP.ini ファイルを Windows にコピーした場合ディレクトリにある場合は、c:windows/php.ini ファイルもコピーする必要があります。
さらに、php_error.log には少なくとも USER の変更権限と書き込み権限が必要です。そうでないと、エラー ログを出力できません。
error_reporting() 関数について:
; エラー報告はビット単位です。または、数値を合計して、必要なエラー報告レベルを取得します。
; E_ALL - すべてのエラーと警告; E_ERROR - 致命的な実行時エラー
; E_PARSE - 実行時の解析エラー
;コードのバグ、または意図的な動作 (空の文字列に自動的に初期化されるという事実に基づいた初期化されていない変数の使用) が原因である可能性があります。 E_CORE_ERROR - 起動時の初期化中に致命的なエラーが発生します
; PHP の起動初期化中に発生する警告 (致命的ではないエラー)
; E_COMPILE_ERROR - コンパイル時の致命的なエラー
; E_USER_ERROR - ユーザーが生成したエラー メッセージ
;生成された警告メッセージ
; E_USER_NOTICE - ユーザーが生成したリマインダー メッセージ
使用法:
error_reporting(0); //エラー報告を無効にする
error_reporting(E_ALL ^ E_NOTICE) ;//E_NOTICE を除くすべてのエラー メッセージを表示します
error_reporting(E_ALL^) E_WARNING^E_NOTICE);//E_WARNING を除くすべてのエラー メッセージを表示します E_NOTICE
error_reporting(E_ERROR | E_WARNING | E_PARSE);//実行時エラーを表示します。 error_reporting(E_ALL ^ E_NOTICE);/ /すべてのエラーを表示
PHP のエラー メッセージをオフにできますか?
質問の回答:
PHP.ini の設定はグローバルであるため、個々のユーザーのグローバル構成情報を直接変更することはできませんが、調整することはできます。 error_reporting PHP 関数を通じて実行したスクリプトのエラー メッセージ出力。例:
コードをコピーします
error_reporting(E_ALL^E_NOTICE^E_WARNING); | |||
コードは次のとおりです | コードをコピー |
//エラー報告を無効にする error_reporting(0); //実行時エラーを報告する error_reporting(E_ERROR | E_WARN ING | E_PARSE) ; //すべてのエラーを報告する error_reporting(E_ALL); ?> |