Home >Backend Development >PHP Tutorial >PHP error_reporting() Detailed explanation of error control function functions_PHP tutorial
Definition and usage:
error_reporting() sets PHP's error reporting level and returns the current level.
Function syntax:
error_reporting(report_level)
If the parameter level is not specified, the current error level will be returned. The following are possible values for level:
Value Constant Description
1 E_ERROR Fatal runtime error. The error cannot be recovered and execution of the script is suspended.
2 E_WARNING Runtime warning (non-fatal error). Non-fatal runtime error, script execution will not stop.
4 E_PARSE Compile time parsing error. Parsing errors are generated only by the parser.
8 E_NOTICE runtime reminder (these are often caused by bugs in your code, or may be caused by intentional behavior.)
16 E_CORE_ERROR Fatal error during initialization process when PHP starts.
32 E_CORE_WARNING Warning (non-fatal error) during the initialization process when PHP starts.
64 E_COMPILE_ERROR Fatal error during compilation. This is like an E_ERROR being generated by the Zend scripting engine.
128 E_COMPILE_WARNING Compilation time warning (non-fatal error). This is like an E_WARNING warning generated by the Zend script engine.
256 E_USER_ERROR User-defined error message. This is like setting E_ERROR by using PHP function trigger_error (programmer sets E_ERROR)
512 E_USER_WARNING User-defined warning message. This is like an E_WARNING warning set by the programmer using the PHP function trigger_error
1024 E_USER_NOTICE User-defined reminder message. This is like an E_NOTICE set by the programmer using the PHP function trigger_error (an E_NOTICE set)
2048 E_STRICT encoding standardization warning. Allows PHP to suggest how to modify the code to ensure optimal interoperability and forward compatibility.
4096 E_RECOVERABLE_ERROR Fatal error in capturing. This is like an E_ERROR, but can be caught via user-defined handler (see also set_error_handler())
8191 E_ALL All errors and warnings (excluding E_STRICT) (E_STRICT will be part of E_ALL as of PHP 6.0)
Example:
Any number of the above options can be "or" connected (using OR or |) to report all required error levels.
For example, the following code turns off user-defined errors and warnings, performs certain actions, and then returns to the original error level:
//Disable error reporting
error_reporting(0);
//Report runtime errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);
//Report all errors
error_reporting(E_ALL);
?>