php error_reporting()函数用法详解

怪我咯
怪我咯 原创
2023-03-13 12:06:01 1056浏览

php中我们对错误的处理会常用到error_reporting函数了,

error_reporting() 函数跪地你给应该报告何种 PHP 错误。此函数能够在运行时设置 error_reporting 指令。

PHP 有诸多错误级别,使用该函数可以设置在脚本运行时的级别。如果没有设置可选参数 level,error_reporting() 仅会返回当前的错误报告级别。

大家可以看到最多的是error_reporting(E_ALL ^ E_NOTICE)了,这个到底什么意思呢,下面我来来看看。

首先要知道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代码运用如下:

<?php
//禁用错误报告,也就是不显示错误
error_reporting(0);
//报告运行时错误
error_reporting(E_ERROR | E_WARNING | E_PARSE);
//报告所有错误
error_reporting(E_ALL);
?>

以上就是php error_reporting()函数用法详解的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。