关闭

改变php执行的错误输出等级

617人阅读 评论(0) 收藏 举报
 我在测试某个  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);

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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:21287次
    • 积分:308
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:10篇
    • 译文:0篇
    • 评论:5条
    文章分类
    文章存档
    最新评论