PHP error_reporting
PHP错误报告 error_reporting()是PHP的预定义函数。它允许您控制将报告多少PHP错误。正如…
PHP错误报告
error_reporting()是PHP的预定义函数。它允许您控制将报告多少PHP错误。正如我们已经讨论的那样,PHP具有多个错误级别。使用error_reporting()函数可在当前脚本持续时间内设置该级别。
php.ini文件具有error_reporting指令,该指令将在运行时由此函数。
句法
1
|
error_reporting (int $level)
|
$level是error_reporting()函数的可选参数。如果未设置级别,则此函数将返回当前的错误报告级别。
级别(可选)
此参数指定当前脚本的错误报告级别。
返回值
如果未提供级别参数,它将返回当前级别。否则,它将恢复为旧的error_reporting级别。
变化
Versions | Description |
---|---|
PHP 5.4 | E_STRICT has become a part of E_ALL. |
PHP 5.3
|
E_DEPRECATED and E_USER_DEPRECATED are newly added in PHP 5.3. |
PHP 5.2 | E_RECOVERABLE_ERROR is added in PHP 5.2. |
PHP 5.0 | E_STRICT is newly introduced in PHP 5.0. |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
1:E_ERROR 致命的运行错误。错误无法恢复,暂停执行脚本。
2:E_WARNING 运行时警告(非致命性错误)。非致命的运行错误,脚本执行不会停止。
4:E_PARSE 编译时解析错误。解析错误只由分析器产生。
8:E_NOTICE 运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。)
16:E_CORE_ERROR PHP启动时初始化过程中的致命错误。
32:E_CORE_WARNING PHP启动时初始化过程中的警告(非致命性错)。
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 编码标准化警告。允许PHP建议如何修改代码以确保最佳的互操作性向前兼容性。
4096:E_RECOVERABLE_ERROR 开捕致命错误。这就像一个E_ERROR,但可以通过用户定义的处理捕获(又见set_error_handler())
8191:E_ALL 所有的错误和警告(不包括 E_STRICT) (E_STRICT will be part of E_ALL as of PHP 6.0)
|
例
在PHP程序的帮助下,指定不同级别的错误报告:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<?
// Turn off all error reporting
error_reporting(0);
// Report all PHP errors
error_reporting(E_ALL);
// Report all PHP errors
error_reporting(–1);
// Report all errors except E_NOTICE
error_reporting(E_ALL & ~E_NOTICE);
// Report simple running errors
error_reporting(E_WARNING | E_ERROR | E_PARSE);
// E_NOTICE is also good to report uninitialized variables
error_reporting( E_WARNING |E_ERROR | E_PARSE | E_NOTICE);
// It is same as error_reporting(E_ALL);
ini_set(‘error_reporting’, E_LL);
?>
|
error_reporting()的重点
- 通过在error_reporting 函数传递零(0),您可以删除所有错误,警告,通知和解析消息。最好关闭.htaccess或ini文件中的报告消息,而不是在每个或每个PHP文件中都包含此代码。
1
|
error_reporting(0);
|
- PHP允许开发人员使用未声明的变量。但是这些未声明的变量在条件和循环中使用时可能会给应用程序带来问题。
有时,可能发生这种情况,即在条件或循环中声明并使用的变量具有不同的拼写。因此,要在Web应用程序中显示未声明的变量,请在error_reporting 函数传递E_NOTICE。
1
|
error_reporting(E_NOTICE);
|
- error_reporting() 函数允许显示用户想要的特定错误。使用〜字符,可以过滤错误。例如-〜E_NOTICE表示不会显示通知。在下面的代码行中,将显示除E_NOTICE之外的所有错误。
1
|
error_reporting(E_ALL & ~E_NOTICE)
|
- 下面是给定的三行代码,它们与error_reporting(E_ALL)相同,这意味着它还将显示所有PHP错误。 error_reporting(E_ALL)因为易于阅读和理解而被广泛用于显示错误。
1
2
3
|
error_reporting(–1);
error_reporting(E_ALL)
ini_set(‘error_reporting’, E_ALL);
|
类别:PHP 技巧、
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!