php错误等级

错误级别

  • E_ERROR(致命的运行时错误)
  • E_WARNING(运行时警告(非致命性错误))
  • E_PARSE(编译时解析错误)
  • E_NOTICE(运行时提醒(经常是bug,也可能是有意的))
  • E_CORE_ERROR(PHP启动时初始化过程中的致命错误)    
  • E_CORE_WARNING(PHP启动时初始化过程中的警告(非致命性错))   
  • E_COMPILE_ERROR(编译时致命性错)  
  • E_COMPILE_WARNING(编译时警告(非致命性错)) 
  • E_USER_ERROR(用户自定义的致命错误)    
  • E_USER_WARNING(用户自定义的警告(非致命性错误))   
  • E_USER_NOTICE(用户自定义的提醒(经常是bug,也可能是有意的))   
  • E_STRICT(编码标准化警告(建议如何修改以向前兼容))      
  • E_RECOVERABLE_ERROR(接近致命的运行时错误,若未被捕获则视同E_ERROR)
  • E_ALL(除E_STRICT外的所有错误(PHP6中为8191,即包含所有))       

设置错误级别的方法

  • 修改PHP的配置文件php.ini 默认是:error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT 意思是报告所有的错误,但除了E_DEPRECATED和E_STRICT这两种。

  • 使用error_reporting()函数

这种方式设置后,可以立即生效。但仅限于在当前脚本中的error_reporting()函数调用的后面区域。


int error_reporting ([ int $level ] )

参数可以是整型或对应的常量标识符,推荐使用常量的形式。返回值为当前位置处起作用的错误报


error_reporting(E_ALL ^ E_NOTICE); // 除了E_NOTICE之外,报告所有的错误 error_reporting(E_ERROR); // 只报告致命错误 error_reporting(E_ERROR | E_WARNING | E_NOTICE); // 只报告E_ERROR、
  • 配置文件php.ini中display_errors的默认值为On,代表显示错误提示,如果设置为Off,就会关闭所有的错误提示。
  • 使用 error_reporting(0) 或者在函数前面加 @,可以抑制错误输出,以防止错误消息泄露敏感信息。
鲁ICP备16017569号-2