(PHP 4, PHP 5)
error_reporting — Sets which PHP errors are reported
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.
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.
| 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 | 
| 6143 | E_ALL | 
| 2048 | E_STRICT | 
| 4096 | E_RECOVERABLE_ERROR | 
| 8192 | E_DEPRECATED | 
| 16384 | E_USER_DEPRECATED | 
Returns the old error_reporting level.
| Version | Description | 
|---|---|
| 5.0.0 | E_STRICT introduced (not part of E_ALL). | 
| 5.2.0 | E_RECOVERABLE_ERROR introduced. | 
| 5.3.0 | E_DEPRECATED and E_USER_DEPRECATED introduced. | 
| 6 | E_STRICT became part of E_ALL. | 
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
error_reporting(E_ALL);
// Same as error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);
?>
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 (and vice versa).