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

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