在PHP中所有的报错信息可以用error_reporting()这个函数来设置:

它的参数有字符串和数字两种表示方法,共14个等级,但是呢,我看使用其他数字貌似也可以,起初我以为它指的是一定的报错区间,后来,终于发现了其中的规律:
复制代码 代码如下: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),则表示记录所有的错误信息
可能会导致网站出现一大堆的错误代码;但是对于程序员来说应该说是一件好事,可以把代码优化到最优; 一些非致命性错误虽然不影响程序的运行,但是会加重PHP的负担.


最后,晒出英文版的对照表:

1 E_ERROR Fatal run-time errors. Errors that can not be recovered from. Execution of the script is halted 2 E_WARNING Non-fatal run-time errors. Execution of the script is not halted 4 E_PARSE Compile-time parse errors. Parse errors should only be generated by the parser 8 E_NOTICE Run-time notices. The script found something that might be an error, but could also happen when running a script normally 16 E_CORE_ERROR Fatal errors at PHP startup. This is like an E_ERROR in the PHP core 32 E_CORE_WARNING Non-fatal errors at PHP startup. This is like an E_WARNING in the PHP core 64 E_COMPILE_ERROR Fatal compile-time errors. This is like an E_ERROR generated by the Zend Scripting Engine 128 E_COMPILE_WARNING Non-fatal compile-time errors. This is like an E_WARNING generated by the Zend Scripting Engine 256 E_USER_ERROR Fatal user-generated error. This is like an E_ERROR set by the programmer using the PHP function trigger_error() 512 E_USER_WARNING Non-fatal user-generated warning. This is like an E_WARNING set by the programmer using the PHP function trigger_error() 1024 E_USER_NOTICE User-generated notice. This is like an E_NOTICE set by the programmer using the PHP function trigger_error() 2048 E_STRICT Run-time notices. PHP suggest changes to your code to help interoperability and compatibility of the code 4096 E_RECOVERABLE_ERROR Catchable fatal error. This is like an E_ERROR but can be caught by a user defined handle (see also set_error_handler()) 8191 E_ALL All errors and warnings, except level E_STRICT (E_STRICT will be part of E_ALL as of PHP 6.0)
标签:
PHP,error_reporting,变量对照表

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com

评论“PHP的error_reporting错误级别变量对照表”

暂无“PHP的error_reporting错误级别变量对照表”评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。