PHP中的错误报告级别是指PHP脚本代码运行时,如果出现错误,按照错误的类别(这里的错误是广义的错误,包括E_NOTICE注意、E_WARNING警告、E_ERROR致命错误等)以错误提示的形式输出给测试者。

设置PHP中的错误报告级别的有两种方法,分别是修改PHP的配置文件php.ini,和使用PHP中内置的error_reporting()函数

修改PHP的配置文件php.ini

打开配置文件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服务器后生效。

注意:这种方式设置error_reporting后,重启web服务器,就会永久生效。

使用error_reporting()函数

error_reporting() 函数规定你给应该报告何种 PHP 错误。

error_reporting() 函数能够在运行时设置 error_reporting 指令。

语法:

error_reporting(level);

注意:使用error_reporting()函数后可以立即生效。但仅限于在当前脚本中的error_reporting()函数调用的后面区域。

例:

error_reporting(0);//关闭错误报告
error_reporting(E_ALL);//报告所有错误
ini_set("error_reporting", E_ALL);//报告所有错误  等同 error_reporting(E_ALL);
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常用的错误报告级别

1           E_ERROR             报告导致脚本终止运行的致命错误

2           E_WARNING       报告运行时的警告类错误(脚本不会终止运行)

4           E_PARSE             报告编译时的语法解析错误

8           E_NOTICE           报告通知类错误,脚本可能会产生错误

32767    E_ALL                  报告所有的可能出现的错误(不同的PHP版本,常量E_ALL的值也可能不同)

PHP中如何设置error_reporting错误报告级别