PHP中error_reporting函数用法详细介绍
PHP中error_reporting函数用法详细介绍
PHP中对错误的处理会用到error_reporting函数,看到最多的是error_reporting(E_ALL^E_NOTICE),这个是什么意思呢?下面我们具体分析error_reporting函数。
定义用法
error_reporting()设置PHP的报错级别并返回当前级别。
语法
error_reporting(report_level)
如果参数report_level未指定,当前报错级别将被返回。下面几项是report_level可能的值:
值 | 常量 | 描述 |
---|---|---|
1 | E_ERROR | 致命的运行时错误。无法恢复的错误。停止执行脚本。 |
2 | E_WARNING | 非致命的运行时错误。脚本的执行并没有停止。 |
4 | E_PARSE | 编译时错误。 |
8 | E_NOTICE | 运行时提醒。 |
16 | E_CORE_ERROR | 在PHP启动时的致命错误。这就好比一个在PHP核心的E_ERROR |
32 | E_CORE_WARNING | 在PHP启动时的非致命的错误。这就好比一个在PHP核心E_WARNING警告 |
64 | E_COMPILE_ERROR | 致命的编译时错误。这就像由Zend脚本引擎生成了一个E_ERROR |
128 | E_COMPILE_WARNING | 非致命的编译时错误,由Zend脚本引擎生成了一个E_WARNING警告 |
256 | E_USER_ERROR | 用户自定义的致命错误 |
512 | E_USER_WARNING | 用户自定义的警告(非致命性错误) |
1024 | E_USER_NOTICE | 用户自定义的提醒(经常是bug,也可能是有意的) |
2048 | E_STRICT | 编码标准化警告(建议如何修改以向前兼容) |
4096 | E_RECOVERABLE_ERROR | 接近致命的运行时错误,若未被捕获则视同E_ERROR |
8191 | E_ALL | 除E_STRICT外的所有错误 |
PHP默认不开启错误,所以你需要配置php.ini文件:
将display_errors=Off改为display_errors=On
另外还要配置错误级别,因为PHP默认是显示所有错误的,而有些无害的提示我们不需要,所以设置如下:
将error_reporting=E_ALL改为error_reporting=E_ALL&~E_NOTICE
在PHP代码中运用例子:
提示:任意数目的以上选项都可以用“或”来连接(用OR或|),这样可以报告所有需要的各级别错误。例如,下面的代码关闭了用户自定义的错误和警告,执行了某些操作,然后恢复到原始的报错级别:
了解error_reporting函数是如何使用的,再看error_reporting(E_ALL^E_NOTICE)这段代码,意思是显示除去E_NOTICE之外的所有错误信息。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!