设置应该报告何种 PHP 错误

# error_reporting

(PHP 4, PHP 5, PHP 7, PHP 8)

error_reporting — 设置应该报告何种 PHP 错误

### 说明

function error_reporting(?int `$error_level` = `null`): int

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

### 参数

`error_level`

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

  可用的错误级别常量及其实际含义描述在了 predefined constants 中。

### 返回值

在更改为 `error_level` 之前返回 error_reporting 级别。

> 注意: 错误控制 `@` 运算符在错误处理期间会更改错误级别。

### 更新日志

版本 | 说明
--- | ---
8.0.0 | `error_level` 现在可以为空。

### 示例

示例 #1 error_reporting() 范例

    <?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 错误
    error_reporting(E_ALL);

    // 报告所有 PHP 错误
    error_reporting(-1);

    // 和 error_reporting(E_ALL); 一样
    ini_set('error_reporting', E_ALL);

    ?>

### 注释

小技巧

传入 `-1` 的值将尽可能显示所有错误，甚至包括将来 PHP 可能加入的新的错误级别和常量。常量 `E_ALL` 有同样的行为。

### 参见

- display_errors 指令
- html_errors 指令
- xmlrpc_errors 指令
- 错误控制运算符
- ini_set() - 为一个配置选项设置值

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open