error_reporting
Description
The error_reporting of Error Handling for PHP sets which PHP errors are reported.
Syntax
error_reporting( ?int $error_level = null ): int
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.
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
1 · void
<? $return = error_reporting(); echo $return; ?>
22527
2 · error_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
3 · none
<? error_reporting(0); echo error_reporting(); ?>
0
4 · 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
5 · some
<? error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE); echo error_reporting(); ?>
15
6 · all except some
<? error_reporting(E_ALL & ~E_NOTICE); echo error_reporting(); ?>
32759