error_reporting — 设置应该报告何种 PHP 错误
error_reporting() 函数能够在运行时设置 error_reporting 指令。 PHP 有诸多错误级别,使用该函数可以设置在脚本运行时的级别。 如果没有设置可选参数 level, error_reporting() 仅会返回当前的错误报告级别。
值 | 常量 | 描述 |
---|---|---|
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,即包含所有) |
示例代码:
<?php // 关闭错误报告 error_reporting(0); // 报告 runtime 错误 error_reporting(E_ERROR | E_WARNING | E_PARSE); // 报告所有错误 error_reporting(E_ALL); // 等同 error_reporting(E_ALL); ini_set("error_reporting", E_ALL); // 报告 E_NOTICE 之外的所有错误 error_reporting(E_ALL & ~E_NOTICE); ?>