欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP中error_reporting函数用法详细介绍

程序员文章站 2024-03-09 16:17:59
php中error_reporting函数用法详细介绍 php中对错误的处理会用到error_reporting函数,看到最多的是error_reporting(e_al...

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 或 |),这样可以报告所有需要的各级别错误。例如,下面的代码关闭了用户自定义的错误和警告,执行了某些操作,然后恢复到原始的报错级别:

<?php
 
//禁用错误报告
 
error_reporting(0);
 
//报告运行时错误
 
error_reporting(e_error | e_warning | e_parse);
 
//报告所有错误
 
error_reporting(e_all);
 
?>

了解 error_reporting 函数是如何使用的,再看 error_reporting(e_all ^ e_notice) 这段代码,意思是显示除去 e_notice 之外的所有错误信息。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!