在PHP中所有的报错信息可以用error_reporting()这个函数来设置:
1. 手册上的DEMO
<?php // 关闭所有PHP错误报告 error_reporting(0); // Report simple running errors error_reporting(E_ERROR | E_WARNING | E_PARSE); // 报告 E_NOTICE也挺好 (报告未初始化的变量 // 或者捕获变量名的错误拼写) error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE); // 除了 E_NOTICE,报告其他所有错误 // 这是在 php.ini 里的默认设置 error_reporting(E_ALL ^ E_NOTICE); // 报告所有 PHP 错误 (参见 changelog) error_reporting(E_ALL); // 报告所有 PHP 错误 error_reporting(-1); // 和 error_reporting(E_ALL); 一样 ini_set('error_reporting', E_ALL); ?>
其中,该函数的参数有两种方式,字符串和数字,这两者其中必有某种联系,经过在网上的搜索终于找到了:
error_reporting( 7 ) = error_reporting( 1+2+4) = error_reporting(E_ERROR | E_WARING | E_PARSE)
数字 | 常量 | 说明 |
1 | E_ERROR |
致命错误,脚本执行中断,就是脚本中有不可识别的东西出现 举例: Error:Invalid parameters. Invalid parameter name |
2 | E_WARNING |
部分代码出错,但不影响整体运行 举例: Warning: require_once(E:/include/config_base.php) |
4 | E_PARSE |
字符、变量或结束的地方写规范有误 举例: Parse error: syntax error, unexpected $end in |
8 | E_NOTICE |
一般通知,如变量未定义等 举例: Notice: Undefined variable: p in E:\web\index.php on line 17 |
16 | E_CORE_ERROR | PHP进程在启动时,发生了致命性错误 |
32 | E_CORE_WARNING | 在PHP启动时警告(非致命性错误) |
64 | E_COMPILE_ERROR | 编译时致命性错误 |
128 | E_COMPILE_WARNING | 编译时警告级错误 |
256 | E_USER_ERROR | 用户自定义的错误消息 |
512 | E_USER_WARNING | 用户自定义的警告消息 |
1024 | E_USER_NOTICE | 用户自定义的提醒消息 |
2047 | E_ALL | 以上所有的报错信息,但不包括E_STRICT的报错信息 |
2048 | E_STRICT | 编码标准化警告,允许PHP建议如何修改代码以确保最佳的互操作性向前兼容性。 |
error_reporting 变量的默认值是 E_ALL & ~E_NOTICE
开发时,最佳的值为: E_ALL | E_STRICT
如果设置为:error_reporting(E_ALL | E_STRICT),则表示记录所有的错误信息。
原创文章,转载请注明: 转载自HSBLOG
本文链接地址: error_reporting错误级别变量对照