首先要知道error_reporting()函数是用来设置错误级别并返回当前级别的。它有14个错误级别,如下:
1 E_ERROR 致命的运行时错误。 错误无法恢复过来。脚本的执行被暂停
2 E_WARNING 非致命的运行时错误。 脚本的执行不会停止
4 E_PARSE 编译时解析错误。解析错误应该只由分析器生成
8 E_NOTICE 运行时间的通知。
16 E_CORE_ERROR 在PHP启动时的致命错误。这就好比一个在PHP核心的E_ERROR
32 E_CORE_WARNING 在PHP启动时的非致命的错误。这就好比一个在PHP核心E_WARNING警告
64 E_COMPILE_ERROR 致命的编译时错误。 这就像由Zend脚本引擎生成了一个E_ERROR
128 E_COMPILE_WARNING 非致命的编译时错误,由Zend脚本引擎生成了一个E_WARNING警告
256 E_USER_ERROR 致命的用户生成的错误。
512 E_USER_WARNING 非致命的用户生成的警告。
1024 E_USER_NOTICE 用户生成的通知。
2048 E_STRICT 运行时间的通知。
4096 E_RECOVERABLE_ERROR 捕捉致命的错误。
8191 E_ALL来 所有的错误和警告。
好像php默认是不开启错误的,所以你需要配置php.ini文件:
将 display_errors = Off 改为display_errors = On
另外还要配置错误级别:将
error_reporting = E_ALL 改为:
error_reporting = E_ALL & ~E_NOTICE
应为php默认是显示所有错误的,而有些无害的提示我们不需要显示,所以设置如上!
也可以在php代码运用如下:
<?php
//禁用错误报告,也就是不显示任何错误
error_reporting(0);
//报告运行时错误
error_reporing(E_ERROR | E_WARNING | E_PARSE);
//报告所有错误
error_reporing(E_ALL);
?>