PHP error_reporting 错误处理函数

  • 定义和用法

    error_reporting - 设置应该报告何种 PHP 错误
  • 版本支持

    PHP4 PHP5 PHP7
    支持 支持 支持
    5.4.0 E_STRICT 成为 E_ALL 的一部分
    5.3.0 引入 E_DEPRECATED 和 E_USER_DEPRECATED。
    5.2.0 引入 E_RECOVERABLE_ERROR。
    5.0.0 引入 E_STRICT (但不包括在 E_ALL 之内)。
  • 语法

    error_reporting ( [ int $level ] )   
    
    error_reporting() 函数能够在运行时设置 error_reporting 指令。 PHP 有诸多错误级别,使用该函数可以设置在脚本运行时的级别。 如果没有设置可选参数 level, error_reporting() 仅会返回当前的错误报告级别。
  • 参数

    参数 必需的 描述
    level 新的 error_reporting 级别。 可以是一个位掩码也可以是一个已命名的常量。 强烈建议使用已命名的常量,以确保兼容将来的版本。 由于错误级别的添加、整数取值范围的增加, 较久的基于整数的错误级别不会总是和预期的表现一致。
  • 返回值

    返回旧的 error_reporting 级别,或者在 level 参数未给出时返回当前的级别。
    error_reporting() 并非二进制安全的。null 字符可能截断 message。
  • 示例

    <?php
    // 关闭所有PHP错误报告
    error_reporting(0);
    
    // Report simple running errors
    error_reporting(E_ERROR | E_WARNING | E_PARSE);
    
    // 报告 E_NOTICE也挺好 (报告未初始化的变量
    // 或者捕获变量名的错误拼写)
    error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
    
    // 除了 E_NOTICE,报告其他所有错误
    error_reporting(E_ALL ^ E_NOTICE);
    
    // 报告所有 PHP 错误 (参见 changelog)
    error_reporting(E_ALL);
    
    // 报告所有 PHP 错误
    error_reporting(-1);
    
    // 和 error_reporting(E_ALL); 一样
    ini_set('error_reporting', E_ALL);
    
    
    警告: 虽然 error_reporting 增强了 包含 E_STRICT 错误的能力(反之亦然),但大多数 E_STRICT 的错误是在编译时被评估的, 所以不会在文件中被报告。
    提示: 传入 -1 的值将尽可能显示所有错误, 甚至包括将来 PHP 可能加入的新的错误级别和常量。 至 PHP 5.4,常量 E_ALL 有同样的行为。
  • 相关函数

    ini_set() - 为一个配置选项设置值