error_reporting定义和用法
error_reporting() 设置 php 的报错级别并返回当前级别。语法error_reporting(report_level)如果参数 report_level 未指定,当前报错级别将被返回。
下面几项是 report_level 可能的值,分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 致命的用户生成的错误。这就像由使用php函数trigger_error(程序员设置e_error)
512 e_user_warning 非致命的用户生成的警告。这就像由使用php函数trigger_error(程序员设定的一个e_warning警告)
1024 e_user_notice 用户生成的通知。这就像一个由使用php函数trigger_error(程序员一个e_notice集)
2048 e_strict 运行时间的通知。
4096 e_recoverable_error 捕捉致命的错误。这就像一个e_error,但可以通过用户定义的处理捕获(又见set_error_handler())
8191 e_all来 所有的错误和警告,除非横向e_strict(e_strict将是php 6.0中e_all来一部分的)其实还有个最牛叉的设置参数,无视一切错误警告请将参数设置为 0 。
比较实际具体的一点用法:
error_reporting(0);//禁用错误报告
error_reporting(e_all);//报告所有错误任意数目的以上选项都可以用“或”来连接(用 or 或 |),这样可以报告所有需要的各级别错误。
例如:
error_reporting(e_error | e_warning | e_parse);//报告运行时错误只要屏蔽notice错误,却又不想屏蔽warning类的错误,
例如:
error_reporting(e_all & ~e_notice);