登录  /  注册
首页 >php教程 >php手册 > 正文

如何动态改变php执行的错误输出等级

原创2016-06-13 10:25:09466

我在测试某个 php 空间时发现它的错误等级设置的非常灵敏,
象变量未声明等不影响执行的都输出错误信息,象
if($name == "") echo "名字为空";
?>
报告错误为
Warning: Undefined variable: name in D:XXXXtest.php on line 1
而这种情况经常出现,但是我不能修改 php.ini 的配置,所以我采用了动态改变错误输出等级的方法,
其函数为
error_reporting
配置错误信息回报的等级。
语法: int error_reporting(int [level]);
本函数用来配置错误信息回报的等级,参数 level 是一个整数的位遮罩 (bitmask),见下表。
遮罩值 表示名称
1 E_ERROR
2 E_WARNING
4 E_PARSE
8 E_NOTICE
16 E_CORE_ERROR
32 E_CORE_WARNING

E_NOTICE 表示一般情形不记录,只有程序有错误情形时才用到,例如企图存取一个不存在的变量,
或是呼叫 stat() 函数检视不存在的文件。
E_WARNING 通常都会显示出来,但不会中断程序的执行。这对除错很有效。
例如:用有问题的正则表达式呼叫 ereg()。
E_ERROR 通常会显示出来,亦会中断程序执行。意即用这个遮罩无法追查到内存配置或其它的错误。
E_PARSE 从语法中解析错误。
E_CORE_ERROR 类似 E_ERROR,但不包括 PHP 核心造成的错误。
E_CORE_WARNING 类似 E_WARNING,但不包括 PHP 核心错误警告。
针对我的情况,我采用了下面的方式解决了我的问题!
error_reporting(E_ERROR|E_PARSE|E_CORE_ERROR|E_CORE_WARNING);


希望能对大家有所帮助,这个函数真得很好用,特被是在调试期间!

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

相关文章

相关视频


视频教程分类

专题推荐

作者信息

php中文网

认证0级讲师