在ACE PHP实例中,可以通过在页面中添加以下两行代码查看PHP错误信息:
error_reporting(report_level);
ini_set("display_errors", 1);
上述report_level指的是输出PHP相对应级别的日志。如果需要调整输出日志的级别,可以通过调整error_reporting()的report_level参数实现:
E_ERROR 致命的运行错误。错误无法恢复,暂停执行脚本。
E_WARNING 运行时警告(非致命性错误)。非致命的运行错误,脚本执行不会停止。
E_PARSE 编译时解析错误。解析错误只由分析器产生。
E_NOTICE 运行时提醒。
E_CORE_ERROR PHP启动时初始化过程中的致命错误。
E_CORE_WARNING PHP启动时初始化过程中的警告(非致命性错)。
E_COMPILE_ERROR 编译时致命性错。这就像由Zend脚本引擎生成了一个E_ERROR。
E_COMPILE_WARNING 编译时警告(非致命性错)。这就像由Zend脚本引擎生成了一个E_WARNING警告。
E_USER_ERROR 用户自定义的错误消息。
E_USER_WARNING 用户自定义的警告消息。
E_USER_NOTICE 用户自定义的提醒消息。
E_STRICT 编码标准化警告。允许PHP建议如何修改代码以确保最佳的互操作性向前兼容性。
E_RECOVERABLE_ERROR 开捕致命错误。这就像一个E_ERROR,但可以通过用户定义的处理捕获。
E_ALL 所有的错误和警告(不包括 E_STRICT)。
下面分别以Error、Warning与Notice为例进行设置说明:
error_reporting(E_ERROR);
ini_set("display_errors", 1);
echo "test" /*缺少分号制造Error级别日志输出*/
echo "
";
?>
结果如下:
error_reporting(E_WARNING);
ini_set("display_errors", 1);
include 'foo.bar'; /*引用一个不存在的文件制造一个Warning级别日志的输出*/
?>
结果如下:
error_reporting(E_NOTICE);
ini_set("display_errors", 1);
$str1=$abc; /*引用一个不存在的变量制造一个Notice级别日志的输出*/
?>
结果如下: