php中error_report函数的含义及各参数含义

首先要知道error_reporting()函数是用来设置错误级别并返回当前级别的。它有14个错误级别,如下:

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    用户生成的通知。
2048     E_STRICT         运行时间的通知。

4096     E_RECOVERABLE_ERROR 捕捉致命的错误。

8191     E_ALL         所有的错误和警告。

好像php默认是不开启错误的,所以你需要配置php.ini文件:

 display_errors = Off 改为display_errors = On

另外还要配置错误级别:将

error_reporting= E_ALL     改为:

error_reporting= E_ALL & ~E_NOTICE

应为php默认是显示所有错误的,而有些无害的提示我们不需要显示,所以设置如上!

也可以在php代码运用如下:

 

1        <?php

2        //禁用错误报告,也就是不显示错误

3        error_reporting(0);

4        //报告运行时错误

5        error_reporting(E_ERROR| E_WARNING| E_PARSE);

6        //报告所有错误

7        error_reporting(E_ALL);

8        ?>




定义和用法

error_reporting() 设置 PHP 的报错级别并返回当前级别。

语法

error_reporting(report_level)

如果参数 level 未指定,当前报错级别将被返回。下面几项是 level 可能的值:

常量 描述
1 E_ERROR Fatal run-time errors. Errors that can not be recovered from. Execution of the script is halted
2 E_WARNING Non-fatal run-time errors. Execution of the script is not halted
4 E_PARSE Compile-time parse errors. Parse errors should only be generated by the parser
8 E_NOTICE Run-time notices. The script found something that might be an error, but could also happen when running a script normally
16 E_CORE_ERROR Fatal errors at PHP startup. This is like an E_ERROR in the PHP core
32 E_CORE_WARNING Non-fatal errors at PHP startup. This is like an E_WARNING in the PHP core
64 E_COMPILE_ERROR Fatal compile-time errors. This is like an E_ERROR generated by the Zend Scripting Engine
128 E_COMPILE_WARNING Non-fatal compile-time errors. This is like an E_WARNING generated by the Zend Scripting Engine
256 E_USER_ERROR Fatal user-generated error. This is like an E_ERROR set by the programmer using the PHP function trigger_error()
512 E_USER_WARNING Non-fatal user-generated warning. This is like an E_WARNING set by the programmer using the PHP function trigger_error()
1024 E_USER_NOTICE User-generated notice. This is like an E_NOTICE set by the programmer using the PHP function trigger_error()
2048 E_STRICT Run-time notices. PHP suggest changes to your code to help interoperability and compatibility of the code
4096 E_RECOVERABLE_ERROR Catchable fatal error. This is like an E_ERROR but can be caught by a user defined handle (see also set_error_handler())
8191 E_ALL All errors and warnings, except level E_STRICT (E_STRICT will be part of E_ALL as of PHP 6.0)

例子

任意数目的以上选项都可以用“或”来连接(用 OR 或 |),这样可以报告所有需要的各级别错误。例如,下面的代码关闭了用户自定义的错误和警告,执行了某些操作,然后恢复到原始的报错级别:

<?php
//禁用错误报告
error_reporting(0);

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

//报告所有错误
error_reporting(E_ALL);
?>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值