Sets which PHP errors are reported

- « error_log

- get_error_handler »

- PHP Manual
- Error Handling Functions
- Sets which PHP errors are reported

# error_reporting

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

error_reporting — Sets which PHP errors are reported

### Description

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

The error_reporting() function sets the error_reporting directive at runtime. PHP has many levels of errors, using this function sets that level for the duration (runtime) of your script. If the optional `error_level` is not set, error_reporting() will just return the current error reporting level.

### Parameters

`error_level`

  The new error_reporting level. It takes on either a bitmask, or named constants. Using named constants is strongly encouraged to ensure compatibility for future versions. As error levels are added, the range of integers increases, so older integer-based error levels will not always behave as expected.

  The available error level constants and the actual meanings of these error levels are described in the predefined constants.

### Return Values

Returns the error_reporting level, before it is changed to `error_level`.

> Note: The error control `@`-operator changes the `error_level` during error handling.

### Changelog

Version | Description
--- | ---
8.0.0 | `error_level` is nullable now.

### Examples

Example #1 error_reporting() examples

    <?php

    // Turn off all error reporting
    error_reporting(0);

    // Report simple running errors
    error_reporting(E_ERROR | E_WARNING | E_PARSE);

    // Reporting E_NOTICE can be good too (to report uninitialized
    // variables or catch variable name misspellings ...)
    error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

    // Report all errors except E_NOTICE
    error_reporting(E_ALL & ~E_NOTICE);

    // Report all PHP errors
    error_reporting(E_ALL);

    // Report all PHP errors
    error_reporting(-1);

    // Same as error_reporting(E_ALL);
    ini_set('error_reporting', E_ALL);

    ?>

### Notes

Tip

Passing in the value `-1` will show every possible error, even when new levels and constants are added in future PHP versions. The behavior is equivalent to passing `E_ALL` constant.

### See Also

- The display_errors directive
- The html_errors directive
- The xmlrpc_errors directive
- The error control operator
- ini_set() - Sets the value of a configuration option