PHP中error_reporting函数用法详细介绍

2018-09-07 14:38

阅读:396

  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默认不开启错误,所以你需要配置文件:

  将 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 之外的所有错误信息。

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


评论


亲,登录后才可以留言!