ホームページ  >  記事  >  バックエンド開発  >  PHPでエラーレベルを変更する方法

PHPでエラーレベルを変更する方法

青灯夜游
青灯夜游オリジナル
2021-05-25 17:41:442862ブラウズ

修正方法: 1. php.ini 内の「error_reporting」項目の値を見つけて修正し、Web サーバーを再起動します。 2. PHP ファイルで、「error_reporting(level)」ステートメントを使用して変更します。パラメータ level は、現在のスクリプトのエラー報告レベルを指定するために使用されます。

PHPでエラーレベルを変更する方法

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

エラー報告レベル: どのような状況下で発生するかを指定します。 , スクリプト コード内のエラー (ここでのエラーは、E_NOTICE、E_WARNING、E_ERROR 致命的なエラーなどを含む一般的なエラーです) は、エラー レポートの形式で出力されます。

#php のエラー レベルを変更する方法

1. PHP 設定ファイル php.ini## を変更します。 #このように error_reporting を設定した後、Web サーバーを再起動すると、永続的に有効になります。

xampp 統合ソフトウェア パッケージを例として、構成ファイル php.ini を開いて、次のようにエラー報告レベル error_reporting のデフォルト値を確認します。

error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT

は、E_DEPRECATED を除くすべてのエラーを報告することを意味します。そしてE_STRICT。

これを次のように変更します:

error_reporting=E_ALL &  ~E_NOTICE

これは、E_NOTICE を除くすべてのエラーを報告することを意味します。これは最も一般的に使用されるエラー報告レベルでもあり、アテンション クラスのエラー (未定義変数の使用など) は報告されません。

これを保存すると、Web サーバーを再起動した後に有効になります。

2. error_reporting() 関数を使用します

このように設定すると、すぐに有効になります。ただし、現在のスクリプトの error_reporting() 関数呼び出しの背後の領域のみです。

error_reporting(level)

level パラメーターは、現在のスクリプトのエラー報告レベルを指定し、省略できます。値の数値と定数名の両方を使用できますが、将来の PHP バージョンとの互換性を確保するために、定数名を使用することをお勧めします。

レベル パラメータには、整数または対応する定数識別子を指定できます。定数形式を使用することをお勧めします。戻り値は、現在の場所で有効なエラー報告レベルの値 (整数値) です。

以下はエラー報告レベルの一部です:

値12481632641282565121024204840968191

示例:

error_reporting(E_ALL ^ E_NOTICE);    // 除了E_NOTICE之外,报告所有的错误
error_reporting(E_ERROR);       // 只报告致命错误
echo error_reporting(E_ERROR | E_WARNING | E_NOTICE);   // 只报告E_ERROR、E_WARNING 和 E_NOTICE三种错误

注意:配置文件php.ini中display_errors的默认值为On,代表显示错误提示,如果设置为Off,就会关闭所有的错误提示。

使用 error_reporting(0) 或者在函数前面加 @,可以抑制错误输出,以防止错误消息泄露敏感信息。 

推荐学习:《PHP视频教程

定数 説明
E_ERROR 実行時の致命的なエラー。修正不可能なエラー。スクリプトの実行を停止します。
E_WARNING 致命的ではない実行時エラー。スクリプトの実行は停止されません。
E_PARSE コンパイル中に解析エラーが発生しました。解析エラーはパーサーによってのみ生成される必要があります。
E_NOTICE 実行時通知。スクリプトの検出はバグである可能性がありますが、スクリプトを通常に実行しているときにも発生する可能性があります。
E_CORE_ERROR PHP の起動時に致命的なエラーが発生しました。これは、PHP コアの E_ERROR とまったく同じです。
E_CORE_WARNING PHP の起動時に致命的ではないエラーが発生しました。これは、PHP コアの E_WARNING とまったく同じです。
E_COMPILE_ERROR コンパイル中に致命的なエラーが発生しました。これは、Zend スクリプト エンジンによって生成される E_ERROR とまったく同様です。
E_COMPILE_WARNING コンパイル中に致命的ではないエラーが発生しました。これは、Zend スクリプト エンジンによって生成される E_WARNING に似ています。
E_USER_ERROR ユーザーが生成した致命的なエラー。これは、プログラマが PHP 関数trigger_error()を使用して生成する E_ERROR に似ています。
E_USER_WARNING ユーザーが生成した致命的ではないエラー。これは、プログラマが PHP 関数trigger_error()を使用して生成する E_WARNING に似ています。
E_USER_NOTICE ユーザー生成の通知。これは、プログラマが PHP 関数trigger_error()を使用して生成する E_NOTICE に似ています。
E_STRICT 実行時通知。 PHP では、コードの相互運用性と互換性を向上させるためにコードを変更することをお勧めします。
E_RECOVERABLE_ERROR キャッチ可能な致命的なエラー。これは、ユーザー定義のハンドルで捕捉できる E_ERROR に似ています (set_error_handler() を参照)。
E_ALL E_STRICT を除くすべてのエラーおよび警告レベル (E_STRICT は PHP 6.0 以降 E_ALL の一部になります)。

以上がPHPでエラーレベルを変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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