PHP中如何设置error_reporting错误报告级别

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

设置错误报告级别的方法:

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()函数调用的后面区域。

int error_reporting ([ int $level ] )

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

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

值          常量                     说明

1           E_ERROR             报告导致脚本终止运行的致命错误

2           E_WARNING       报告运行时的警告类错误(脚本不会终止运行)

4           E_PARSE             报告编译时的语法解析错误

8           E_NOTICE           报告通知类错误,脚本可能会产生错误

32767   E_ALL                  报告所有的可能出现的错误(不同的PHP版本,常量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,就会关闭所有的错误提示。

原文地址:http://blog.51cto.com/13505030/2068128

时间: 2024-11-06 07:45:54

PHP中如何设置error_reporting错误报告级别的相关文章

PHP错误报告级别及调整方法

运行PHP脚本时,PHP解析器会尽其所能能报告它遇到的问题.在PHP中错误报告的处理行为,都是通过PHP的配置文件php.ini中有关的配置指令确定的.另外PHP的错误报告有很多种级别,可以根据不同的错误报告级别提供对应的调试方法.一旦把PHP设置成呈现出发生了哪些错误,你可能想调整错误报告的级别.在下表中列出了PHP中大多数的错误报告级别. 如果开发人员希望在PHP脚本中,遇到表中的某个级别的错误时,将错误消息报告给他,则必须在配置文件php.ini中,将display_errors指令的值设

PHP错误报告级别

error_reporting = E_ALL & ~E_NOTICE ; 错误报告级别是位字段的叠加,推荐使用 E_ALL | E_STRICT ; 1 E_ERROR 致命的运行时错误 ; 2 E_WARNING 运行时警告(非致命性错误) ; 4 E_PARSE 编译时解析错误 ; 8 E_NOTICE 运行时提醒(经常是bug,也可能是有意的) ; 16 E_CORE_ERROR PHP启动时初始化过程中的致命错误 ; 32 E_CORE_WARNING PHP启动时初始化过程中的警告(

调整CodeIgniter错误报告级别

修改位置:CI根目录 index.php 为开发环境与生产环境定义错误报告级别 1 if (defined('ENVIRONMENT')) 2 { 3 switch (ENVIRONMENT) 4 { 5 case 'development': 6 error_reporting(E_ALL); 7 break; 8 9 case 'testing': 10 case 'production': 11 error_reporting(E_ERROR); 12 break; 13 14 defau

关于PHP.INI中的错误ERROR报告级别设置

最近在写php的过程中发现php提示php notice:………………的字样,虽然这个只是php的提示内容,并没有什么大的影响,但是出于安全性和美观方面的考虑,小弟还是想把这个东西去掉. 那么,怎么办呢? 抬出baidu,直接复制.粘贴php notice:,这样搜索的结果,一般有两种情况: 一.直接来一句:error_reporting=E_ALL&~E_NOTICE,搞得你不知道什么意思?! 二. 1.在php.ini文件中改动error_reporting 改为: error_report

php之错误报告设置

php在运行时,针对严重程度不同的错误,给予不同的错误提示. 开发时,为了程序的规范性,把错误级别调到比较高,notice级别的也报出来,有助于快速定位错误和代码规范.在产品上线后,网站运营过程中,就不宜报这么多错,1:这种错误给客户的印象不好:2:在报错时,把网站的绝对路径都报出来,增大被攻击的风险,因此,在网站上线后,就应该让报错级别降低,少报甚至不报. 设置错误报告级别 1:在php.ini里修改error_reporting选项:2:可以在php页面里,error_reporting()

PHP中错误的级别

PHP中错误的级别 在PHP中,错误会被被分成不同的等级的,如下图 notice和warning级别的错误不会影响下面脚本的执行,但是error级别的错误,会影响脚本的执行

PHP error_reporting() 错误控制函数功能详解

定义和用法:error_reporting() 设置 PHP 的报错级别并返回当前级别. 函数语法:error_reporting(report_level) 如果参数 level 未指定,当前报错级别将被返回.下面几项是 level 可能的值:值 常量 描述1 E_ERROR 致命的运行错误.错误无法恢复,暂停执行脚本.2 E_WARNING 运行时警告(非致命性错误).非致命的运行错误,脚本执行不会停止.4 E_PARSE 编译时解析错误.解析错误只由分析器产生.8 E_NOTICE 运行时

【转】PHP error_reporting() 错误控制函数功能详解

定义和用法: error_reporting() 设置 PHP 的报错级别并返回当前级别. 函数语法: error_reporting(report_level) 如果参数 level 未指定,当前报错级别将被返回.下面几项是 level 可能的值: 值 常量 描述 1 E_ERROR 致命的运行错误.错误无法恢复,暂停执行脚本. 2 E_WARNING 运行时警告(非致命性错误).非致命的运行错误,脚本执行不会停止. 4 E_PARSE 编译时解析错误.解析错误只由分析器产生. 8 E_NOT

PHP通过ini_set()来设置显示错误信息和执行时间

PHP的 ini_set函数是设置选项中的值,在执行函数后生效,脚本结束的时候,这个设置也失效.不是所有的选项都能被改函数设置的.具体那些值能够设置,可以查看手册中的列表. 就是能够设置php.ini中的选项值比如,display_error选项关闭了,但是你要显示程序中的错误信息,方便你调试程序,那么就可以使用PHP ini_set函数: ini_set("display_errors", "On"); 那么在你这个页面的程序都会显示错误信息了,而且你还可以使用e