PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

php怎么修改报错级别

青灯夜游
青灯夜游 原创
2021-05-25 17:41:44 2619浏览

修改方法:1、php.ini中,查找并修改“error_reporting”项的值,然后重启web服务器即可。2、在php文件中,使用“error_reporting(level)”语句修改,参数level用于规定当前脚本的错误报告级别。

本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑

错误报告级别:指定了在什么情况下,脚本代码中的错误(这里的错误是广义的错误,包括E_NOTICE注意、E_WARNING警告、E_ERROR致命错误等)会以错误报告的形式输出。

php修改报错级别的方法

1、修改PHP的配置文件php.ini

这种方式设置error_reporting后,重启web服务器,就会永久生效。

这里以xampp集成软件包为例,打开配置文件php.ini,查看错误报告级别error_reporting的默认值,如下:

error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT

意思是报告所有的错误,但除了E_DEPRECATED和E_STRICT这两种。

将其修改为:

error_reporting=E_ALL &  ~E_NOTICE

意思是报告所有的错误,但除了E_NOTICE这一种。这也是最常用的错误报告级别,它不会报告注意类(如:使用了未定义的变量)的错误。

保存,重启web服务器后生效。

2、使用error_reporting()函数

这种方式设置后,可以立即生效。但仅限于在当前脚本中的error_reporting()函数调用的后面区域。

error_reporting(level)

level参数规定当前脚本的错误报告级别,可省略。值数字和常量名都能接受,但是,考虑未来的 PHP 版本的兼容性,推荐使用常量名。

level参数可以是整型或对应的常量标识符,推荐使用常量的形式。返回值为当前位置处起作用的错误报告级别的值(整型值)。

下面列举一些错误报告级别:

常量描述
1E_ERROR运行时致命的错误。不能修复的错误。停止执行脚本。
2E_WARNING运行时非致命的错误。没有停止执行脚本。
4E_PARSE编译时的解析错误。解析错误应该只由解析器生成。
8E_NOTICE运行时的通知。脚本发现可能是一个错误,但也可能在正常运行脚本时发生。
16E_CORE_ERRORPHP 启动时的致命错误。这就如同 PHP 核心的 E_ERROR。
32E_CORE_WARNINGPHP 启动时的非致命错误。这就如同 PHP 核心的 E_WARNING。
64E_COMPILE_ERROR编译时致命的错误。这就如同由 Zend 脚本引擎生成的 E_ERROR。
128E_COMPILE_WARNING编译时非致命的错误。这就如同由 Zend 脚本引擎生成的 E_WARNING。
256E_USER_ERROR用户生成的致命错误。这就如同由程序员使用 PHP 函数 trigger_error() 生成的 E_ERROR。
512E_USER_WARNING用户生成的非致命错误。这就如同由程序员使用 PHP 函数 trigger_error() 生成的 E_WARNING。
1024E_USER_NOTICE用户生成的通知。这就如同由程序员使用 PHP 函数 trigger_error() 生成的 E_NOTICE。
2048E_STRICT运行时的通知。PHP 建议您改变代码,以提高代码的互用性和兼容性。
4096E_RECOVERABLE_ERROR可捕获的致命错误。这就如同一个可以由用户定义的句柄捕获的 E_ERROR(见 set_error_handler())。
8191E_ALL所有的错误和警告的级别,除了 E_STRICT(自 PHP 6.0 起,E_STRICT 将作为 E_ALL的一部分)。

示例:

error_reporting(E_ALL ^ E_NOTICE);    // 除了E_NOTICE之外,报告所有的错误
error_reporting(E_ERROR);       // 只报告致命错误
echo error_reporting(E_ERROR | E_WARNING | E_NOTICE);   // 只报告E_ERROR、E_WARNING 和 E_NOTICE三种错误

注意:配置文件php.ini中display_errors的默认值为On,代表显示错误提示,如果设置为Off,就会关闭所有的错误提示。

使用 error_reporting(0) 或者在函数前面加 @,可以抑制错误输出,以防止错误消息泄露敏感信息。 

推荐学习:《PHP视频教程

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