PHP中的error_reporting()函数

error_reporting()函数指定要报告的错误。它在运行时设置error_reporting指令。PHP具有许多错误级别,使用此功能可在脚本的持续时间(运行时)中设置该级别。如果没有给出level参数,它将返回旧的错误报告级别或当前的错误报告级别。

语法

error_reporting(level)

参数

  • 级别-它指定当前脚本的错误报告级别。接受数值和常量名称。

返回

如果未提供level参数,error_reporting()函数将返回旧的错误报告级别或当前的错误报告级别。

报告等级

不变描述
1E_ERROR致命的运行时错误。无法恢复的错误。脚本的执行停止
2E_WARNING非致命的运行时错误。脚本的执行不会停止
4E_PARSE编译时解析错误。解析错误应仅由解析器生成
8E_NOTICE运行时通知。该脚本发现了可能是错误的内容,但在正常运行脚本时也可能发生
16E_CORE_ERRORPHP启动时发生致命错误。这就像PHP核心中的E_ERROR
32E_CORE_WARNINGPHP启动时发生非致命错误。这就像PHP核心中的E_WARNING
64E_COMPILE_ERROR致命的编译时错误。这就像Zend脚本引擎生成的E_ERROR
128E_COMPILE_WARNING非致命的编译时错误。这就像Zend脚本引擎生成的E_WARNING
256E_USER_ERROR用户生成的致命错误。这就像程序员使用PHP函数trigger_error()设置的E_ERROR一样
512E_USER_WARNING非致命的用户生成的警告。这就像程序员使用PHP函数trigger_error()设置的E_WARNING一样
1024E_USER_NOTICE用户生成的通知。这就像程序员使用PHP函数trigger_error()设置的E_NOTICE一样
2048E_STRICT运行时通知。PHP建议对您的代码进行更改以帮助代码的互操作性和兼容性
4096E_RECOVERABLE_ERROR可捕获的致命错误。这就像一个E_ERROR,但是可以由用户定义的句柄捕获(另请参见set_error_handler())
8191E_ALL除E_STRICT级别外的所有错误和警告

示例

以下是一个例子-

<?php
   //关闭错误报告
   error_reporting(0);

   //报告运行时错误
   error_reporting(E_ERROR | E_WARNING | E_PARSE);
?>

输出结果

让我们看看另一个报告所有错误的示例-

<?php
   error_reporting(E_ALL);
?>