在PHP中,错误级别的设置有两种方法:
第一种:这种方式设置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服务器后生效。
第二种:通过error_reporting()函数设置报错级别,这种方式设置后,可以立即生效。
但仅限于在当前脚本中的error_reporting()函数调用的后面区域。
error_reporting()函数的语法如下:
int error_reporting ([ int $level ] )
例子:
下面的代码关闭了用户自定义的错误和警告,执行了某些操作,然后恢复到原始的报错级别:
//禁用错误报告 error_reporting(0);
//报告运行时错误 error_reporting(E_ERROR | E_WARNING | E_PARSE);
//报告所有错误 error_reporting(E_ALL);
一个简单的例子是:
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
它表示php错误,警告,语法错误,提醒都返错。
