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

php error_reporting() 関数の詳細な説明

怪我咯
リリース: 2023-03-13 12:04:01
オリジナル
1607 人が閲覧しました

Empire cms の connect.php を見ると、最初の文が error_reporting(E_ALL ^ E_NOTICE); であることがわかりました。これまでこのステートメントがエラー プロンプトを設定するために使用されていることには気づきませんでした。具体的な設定方法や使い方が分かりませんでした。以下、ネット上からいくつか抜粋してまとめてみました。

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

コードは次のとおりです:

if (!$tmp_i) { 
$tmp_i=10; 
}
ログイン後にコピー

は 4.3.0 では正常に実行されますが、4.3.1 で実行すると次のメッセージが表示されます。

質問:

1. 問題はどこですか?
2. このコードはどのように変更する必要がありますか?
3. コードを変更せずに、4.3.0 の元のプログラムを 4.3.1 環境で正常に実行できるようにするにはどうすればよいですか?
解決策:
最初は。プログラムの文を追加します:
error_reporting(E_ALL & ~E_NOTICE); または error_reporting(E_ALL ^ E_NOTICE);
or
php.ini を変更する
error_reporting = E_ALL & ~E_NOTICE

error_reporting() 関数について:

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

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

; または意図的な動作 (初期化されていない変数が自動的に空の
文字列
に初期化されるという事実に基づく) によって引き起こされる可能性があります。 E_CORE_ERROR - 致命的なエラー。 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);// すべてのエラーを表示します


以下は、
PHP error_reporting() エラー制御関数関数の詳細な説明です

。定義と使用法:


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

関数の構文:

error_reporting(report_level)
ログイン後にコピー

パラメーター レベルが指定されていない場合は、現在のエラー報告レベルが返されます。値:

値定数の説明

1 E_ERROR 致命的

実行エラー

。エラーは回復できず、スクリプトの実行は一時停止されます。

2 実行時警告 (致命的ではないエラー)。スクリプトは実行できません。

4 E_PARSE コンパイル時解析エラー。解析エラーはパーサーによってのみ生成されます。

8 E_NOTICE 実行時リマインダー (これらは多くの場合、コード内のバグによって引き起こされるか、意図的な動作によって引き起こされる可能性があります。) 16 E_CORE_ERROR PHP 起動時の初期化中の致命的なエラー。

32 E_CORE_WARNING PHP 起動時の初期化プロセス中の警告 (致命的ではないエラー)。

64 E_COMPILE_ERROR コンパイル中の致命的なエラー。これは、Zend スクリプト エンジンによって生成される E_ERROR に似ています。

128 E_COMPILE_WARNING コンパイル時警告 (致命的ではないエラー)。これは、Zend スクリプト エンジンによって生成される E_WARNING 警告に似ています。

256 E_USER_ERROR ユーザー定義のエラー メッセージ。これは、PHP 関数

trigger_error

(プログラマーが E_ERROR を設定)

512 E_USER_WARNING を使用したユーザー定義の警告メッセージに似ています。これは、PHP 関数trigger_error (プログラマによって設定された E_WARNING 警告)

1024 E_USER_NOTICE を使用したユーザー定義のリマインダー メッセージに似ています。これは、PHP 関数trigger_error (プログラマによって設定された E_NOTICE) を使用して

2048 E_STRICT によってエンコードされた標準化された警告のようなものです。 PHP が最適な相互運用性と上位互換性を確保するためにコードを変更する方法を提案できるようにします。

4096 E_RECOVERABLE_ERROR キャプチャ中に致命的なエラーが発生しました。これは E_ERROR に似ていますが、ユーザー定義のハンドラーを介して捕捉できます (set_error_handler() も参照)

8191 E_ALL すべてのエラーと警告 (E_STRICT を除く) (E_STRICT は PHP 6.0 以降 E_ALL の一部になります)

以上がphp error_reporting() 関数の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート