error_reporting

Sets which PHP errors are reported

Syntax

error_reporting ([ int $level ] ) : int

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.

Value Constant Description
1 E_ERROR Fatal run-time errors. These indicate errors that can not be recovered from, such as a memory allocation problem. Execution of the script is halted.
2 E_WARNING Run-time warnings (non-fatal errors). Execution of the script is not halted.
4 E_PARSE Compile-time parse errors. Parse errors should only be generated by the parser.
8 E_NOTICE Run-time notices. Indicate that the script encountered something that could indicate an error, but could also happen in the normal course of running a script.
16 E_CORE_ERROR Fatal errors that occur during PHP's initial startup. This is like an E_ERROR, except it is generated by the core of PHP.
32 E_CORE_WARNING Warnings (non-fatal errors) that occur during PHP's initial startup. This is like an E_WARNING, except it is generated by the core of PHP.
64 E_COMPILE_ERROR Fatal compile-time errors. This is like an E_ERROR, except it is generated by the Zend Scripting Engine.
128 E_COMPILE_WARNING Compile-time warnings (non-fatal errors). This is like an E_WARNING, except it is generated by the Zend Scripting Engine.
256 E_USER_ERROR User-generated error message. This is like an E_ERROR, except it is generated in PHP code by using the PHP function trigger_error().
512 E_USER_WARNING User-generated warning message. This is like an E_WARNING, except it is generated in PHP code by using the PHP function trigger_error().
1024 E_USER_NOTICE User-generated notice message. This is like an E_NOTICE, except it is generated in PHP code by using the PHP function trigger_error().
2048 E_STRICT Enable to have PHP suggest changes to your code which will ensure the best interoperability and forward compatibility of your code.
4096 E_RECOVERABLE_ERROR Catchable fatal error. It indicates that a probably dangerous error occurred, but did not leave the Engine in an unstable state. If the error is not caught by a user defined handle (see also set_error_handler()), the application aborts as it was an E_ERROR.
8192 E_DEPRECATED Run-time notices. Enable this to receive warnings about code that will not work in future versions.
16384 E_USER_DEPRECATED User-generated warning message. This is like an E_DEPRECATED, except it is generated in PHP code by using the PHP function trigger_error().
32767 E_ALL All errors and warnings, as supported, except of level E_STRICT prior to PHP 5.4.0.

Return

Returns the old error_reporting level or the current level if no level parameter is given.

Examples

void

<?

$return = error_reporting();

echo $return;

?>
22527

level

<?

error_reporting(E_ERROR);
echo "E_ERROR: " . error_reporting() . PHP_EOL;

error_reporting(E_WARNING);
echo "E_WARNING: " . error_reporting() . PHP_EOL;

error_reporting(E_PARSE);
echo "E_PARSE: " . error_reporting() . PHP_EOL;

error_reporting(E_NOTICE);
echo "E_NOTICE: " . error_reporting() . PHP_EOL;

error_reporting(E_CORE_ERROR);
echo "E_CORE_ERROR: " . error_reporting() . PHP_EOL;

error_reporting(E_CORE_WARNING);
echo "E_CORE_WARNING: " . error_reporting() . PHP_EOL;

error_reporting(E_COMPILE_ERROR);
echo "E_COMPILE_ERROR: " . error_reporting() . PHP_EOL;

error_reporting(E_COMPILE_WARNING);
echo "E_COMPILE_WARNING: " . error_reporting() . PHP_EOL;

error_reporting(E_USER_ERROR);
echo "E_USER_ERROR: " . error_reporting() . PHP_EOL;

error_reporting(E_USER_WARNING);
echo "E_USER_WARNING: " . error_reporting() . PHP_EOL;

error_reporting(E_USER_NOTICE);
echo "E_USER_NOTICE: " . error_reporting() . PHP_EOL;

error_reporting(E_STRICT);
echo "E_STRICT: " . error_reporting() . PHP_EOL;

error_reporting(E_RECOVERABLE_ERROR);
echo "E_RECOVERABLE_ERROR: " . error_reporting() . PHP_EOL;

error_reporting(E_DEPRECATED);
echo "E_DEPRECATED: " . error_reporting() . PHP_EOL;

error_reporting(E_USER_DEPRECATED);
echo "E_USER_DEPRECATED: " . error_reporting() . PHP_EOL;

error_reporting(E_ALL);
echo "E_ALL: " . error_reporting();

?>
E_ERROR: 1
E_WARNING: 2
E_PARSE: 4
E_NOTICE: 8
E_CORE_ERROR: 16
E_CORE_WARNING: 32
E_COMPILE_ERROR: 64
E_COMPILE_WARNING: 128
E_USER_ERROR: 256
E_USER_WARNING: 512
E_USER_NOTICE: 1024
E_STRICT: 2048
E_RECOVERABLE_ERROR: 4096
E_DEPRECATED: 8192
E_USER_DEPRECATED: 16384
E_ALL: 32767

None

<?

error_reporting(0);

echo error_reporting();

?>
0

All

<?

error_reporting(-1);
echo error_reporting() . PHP_EOL;

error_reporting(E_ALL);
echo error_reporting() . PHP_EOL;

ini_set("error_reporting", E_ALL);
echo error_reporting();

?>
-1
32767
32767

Some

<?

error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

echo error_reporting();

?>
15

All Except Some

<?

error_reporting(E_ALL & ~E_NOTICE);

echo error_reporting();

?>
32759

PHP

Home Menu