PHP Manual
Prev |  | Next

# error_reporting

(PHP 3, PHP 4, PHP 5)

error_reporting -- Sets which PHP errors are reported

## Description

int error_reporting ( [int level] )

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.

## Parameters

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 are listed below. The actual meanings of these error levels are described in the predefined constants.

  Table 1. error_reporting() level constants and bit values

  value | constant
  --- | ---
  1 | E_ERROR
  2 | E_WARNING
  4 | E_PARSE
  8 | E_NOTICE
  16 | E_CORE_ERROR
  32 | E_CORE_WARNING
  64 | E_COMPILE_ERROR
  128 | E_COMPILE_WARNING
  256 | E_USER_ERROR
  512 | E_USER_WARNING
  1024 | E_USER_NOTICE
  2047 | E_ALL
  2048 | E_STRICT
  4096 | E_RECOVERABLE_ERROR

## Return Values

Returns the old error_reporting level.

## 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 // This is the default value set in php.ini error_reporting(E_ALL ^ E_NOTICE); // Report all PHP errors (bitwise 63 may be used in PHP 3) error_reporting(E_ALL); // Same as error_reporting(E_ALL); ini_set('error_reporting', E_ALL); ?>`

## Notes

Warning
With PHP > 5.0.0 `E_STRICT` with value 2048 is available. `E_ALL` does NOT include error level `E_STRICT` (but in PHP 6 it does though). Most of `E_STRICT` errors are evaluated at the compile time thus such errors are not reported in the file where error_reporting is enhanced to include `E_STRICT` errors.

## See Also

The display_errors directive
ini_set()

Prev | Home | Next
error_log | Up | restore_error_handler