不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2013-04-06 13:16  分类:PHP基础  编辑

在PHP开发的时候常常会用到error_reporting(report_level)来调试自己的程序,下面列出了report_level可能值:

常量 描述
1 E_ERROR 这是一个严重错误,不可恢复,如位置异常,内存不足等
2 E_WARNING 警告,最一般的错误,如函数的参数错误等
4 E_PARSE 解析错误,在解析PHP文件时产生,并强制PHP在执行前退出
8 E_NOTICE 通告表示可能在操作一些未知的变量等。在开发时可开启通告,以保证程序是"安全通告"的,瑞在正式系统中,应关闭通告
16 E_CORE_ERROR 这个内部错误是由于PHP加载扩展失败而导致的,并且会导致PHP停止运行并退出
32 E_CORE_WARNING PHP启动时初始化过程中的警告(非致命性错)
64 E_COMPILE_ERROR 编译错误是在编译时发生,这个错误将导致PHP运行退出
128 E_COMPILE_WARNING 编译警告用于告诉用户一些不推荐的语法信息
256 E_USER_ERROR 用户定义的错误将导致辞PHP退出,它对是来自PHP自身,而是来自脚本文件中。
512 E_USER_WARNING 脚本使用它来通知一个执行失败,同时PHP也会用E_WARNING通知
1024 E_USER_NOTICE 用户定义的通告用于在脚本中表示可能存在的错误
2048 E_STRICT 编码标准化警告(建议如何修改以向前兼容)
4096 E_RECOVERABLE_ERROR 接近致命的运行时错误,若未被捕获则视同E_ERROR
8191 E_ALL 除E_STRICT外的所有错误(PHP6中为8191,即包含所有)

例子:

任意数目的以上选项都可以用“或”来连接(用 OR 或 |),这样可以报告所有需要的各级别错误。例如,下面的代码关闭了用户自定义的错误和警告,执行了某些操作,然后恢复到原始的报错级别:

<?php
//禁用错误报告
error_reporting(0);

//报告运行时错误
error_reporting(E_ERROR | E_WARNING | E_PARSE);   

//报告所有错误
error_reporting(E_ALL);   

error_reporting(7);
/*
设置php错误检测级别
E_ERROR - 致命性运行时错 (1)
E_WARNING - 运行时警告(非致命性错)(2)
E_PARSE - 编译时解析错误 (4)
1+2+4 = 7
*/
?>

 

uchome系统中的调试处理:

D_BUG ? error_reporting(7) : error_reporting(0);