error_reporting

Sets which PHP errors are reported

&reftitle.description; `int` `error_reporting` ``int``null```error_level`&null;

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.

&reftitle.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.

&reftitle.returnvalues;

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

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

&reftitle.changelog;

&Version; | &Description;
8.0.0 | `error_level` is nullable now.

&reftitle.examples;

### `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);

    ?>

&reftitle.notes;

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.

&reftitle.seealso;

- The display_errors directive
- The html_errors directive
- The xmlrpc_errors directive
- The error control operator
- `ini_set`