PHP 错误报告

PHP 错误报告

error_reporting()是一个PHP的预定义函数。它允许您控制报告多少个和哪些PHP错误。正如我们已经讨论过的,PHP有几个级别的错误。使用error_reporting()函数可以为当前脚本设置错误级别。

php.ini文件有一个error_reporting指令,将在运行时由此函数设置。

语法

error_reporting (int $level)

错误报告函数error_reporting()的 $level 参数是可选的。如果未设置级别,此函数将返回当前的错误报告级别。

$level(可选)

此参数指定当前脚本的错误报告级别。

返回值

如果未给出级别参数,它将返回当前级别。否则,它将恢复到旧的错误报告级别。

变更

版本 描述
PHP 5.4 E_STRICT已成为E_ALL的一部分。
PHP 5.3 在PHP 5.3中新增了E_DEPRECATED和E_USER_DEPRECATED。
PHP 5.2 在PHP 5.2中添加了E_RECOVERABLE_ERROR。
PHP 5.0 在PHP 5.0中引入了E_STRICT。

示例

通过PHP程序的帮助,可以指定不同级别的错误报告:

<?
    // 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()的重要要点

  • 通过将零(0)传递给error_reporting函数,可以移除所有的错误、警告、通知和解析信息。最好的方法是在.htaccess或ini文件中关闭报告信息,而不是在每个PHP文件中使用这段代码。
error_reporting(0);
  • PHP允许开发人员使用未声明的变量。但是当这些未声明的变量在条件和循环中使用时,可能会导致应用程序出现问题。 有时,在条件或循环中声明并使用的变量的拼写可能不同。因此,为了在Web应用程序中显示未声明的变量,请在error_reporting函数中传递E_NOTICE。
error_reporting(E_NOTICE);
  • error_reporting()函数允许显示用户想要的特定错误。使用~字符,您可以过滤错误。例如 – ~E_NOTICE表示不显示通知。在下面的代码行中,除了E_NOTICE之外,将显示所有错误。
error_reporting(E_ALL & ~E_NOTICE)
  • 下面是给出的三行代码,它的作用与error_reporting(E_ALL)相同,这意味着它也会显示所有的PHP错误。error_reporting(E_ALL)是最常用的显示错误的方法,因为它易于阅读和理解。
error_reporting(-1);
error_reporting(E_ALL)
ini_set('error_reporting', E_ALL);

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程