ホームページ >バックエンド開発 >PHPチュートリアル >PHP関数error_reporting(E_ALL ^ E_NOTICE)_PHPチュートリアルの詳細説明

PHP関数error_reporting(E_ALL ^ E_NOTICE)_PHPチュートリアルの詳細説明

WBOY
WBOYオリジナル
2016-07-21 15:27:44895ブラウズ

例:

Windows 環境: もともと php4.3.0 で正常に実行されていたプログラムが、4.3.1 で多くのエラーが報告されるのはなぜですか? 一般的なプロンプトは次のとおりです: 注意: 未定義の変数: 変数名。次のコード:

コードをコピーします コードは次のとおりです:
if (!$tmp_i) {
$tmp_i=10;
}

は 4.3.0 で正常に実行され、通知メッセージが表示されます。 4.3.1 で実行する場合: 未定義の varialbe:tmp_i
次の質問:
1. 問題はどこにありますか?
2. このコードはどのように変更する必要がありますか?
3. コードを変更せずに、4.3.0 の元のプログラムを 4.3.1 環境で正常に実行できるようにするにはどうすればよいですか?

解決策:

を追加します。プログラムの先頭の文:
error_reporting(E_ALL & ~E_NOTICE); または error_reporting(E_ALL ^ E_NOTICE);

または
php.ini を変更する
error_reporting = E_ALL & ~E_NOTICE

error_reporting() 関数について:


error_reporting(() PHP のエラー報告レベルを設定し、現在のレベルを返します。

; エラー報告はビット単位です。または、数値を合計して、必要なエラー報告レベルを取得します。
; E_ALL - すべてのエラーと警告
; E_ERROR - 致命的な実行時エラー
; E_PARSE - 実行時の解析エラー
;コードのバグ

; または意図的な動作 (初期化されていない変数が自動的に空の文字列に初期化されるという事実に基づく未初期化の変数の使用など) によって引き起こされる可能性があります

- 実行中に発生する致命的なエラー。 PHP 起動の初期化プロセス
; E_CORE_WARNING - PHP 起動の初期化プロセス中に発生する警告 (致命的ではないエラー)
; E_COMPILE_ERROR - コンパイル時の致命的なエラー
; E_USER_ERROR - ユーザーが生成したエラー メッセージ
; E_USER_WARNING - ユーザーが生成した警告メッセージ

使用法:

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); error_reporting(E_ALL);//すべてのエラーを表示します。



http://www.bkjia.com/PHPjc/323729.html
www.bkjia.com

tru​​ehttp://www.bkjia.com/PHPjc/323729.html技術記事例: Windows 環境の場合: もともと php4.3.0 で正常に実行されていたプログラムが 4.3.1 で複数のエラーを報告しました。 一般的なプロンプトは次のとおりです: 注意: 未定義の変数: 変数名 例:
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。