Heim >Backend-Entwicklung >PHP-Tutorial >php error_reporting()函数详解

php error_reporting()函数详解

WBOY
WBOYOriginal
2016-06-20 13:03:521186Durchsuche

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);


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn