PHP error_reporting() | Enable/Disable Error Reporting

With PHP's error_reporting() function, we can choose which errors should be shown. For example:

<?php
   error_reporting(0);
   
   echo "<BR>Before \$x<BR>";
   echo $x;
   echo "<BR>After \$x<BR>";
?>

The output produced by the above PHP example using the error_reporting() function is shown in the snapshot given below:

php error reporting function

Notice the $x that is not defined. But there is no error displayed in the web browser. It is because I have turned off the reporting of all errors using the first statement, which is error_reporting(0); But if I remove this statement, then the output should be:

php error reporting turn off error

PHP error_reporting() Syntax

The syntax of the error_reporting() function in PHP is:

error_reporting(level);

TheĀ level parameter is optional and is used to specify the error reporting level. List of predefined error constantsalong with its description, is given in the following table:

Value Constant Named Constant Description
1 E_ERROR Used to report only fatal run-time errors. After reporting a fatal error, the remaining execution of the script halts.
2 E_WARNING Used to report only run-time warnings. After reporting a run-time error, the remaining execution of the script continues.
4 E_PARSE Used to report only Compile-time parsing errors
8 E_NOTICE Used to report run-time notices, not errors.
16 E_CORE_ERROR Used to report fatal errors at startup. It is similar to E_ERROR. It is generated through core PHP.
32 E_CORE_WARNING Used to report Non-fatal errors at startup. It is similar to E_WARNING. It is generated through core PHP.
64 E_COMPILE_ERROR Used to report Fatal compile-time errors It is similar to E_ERROR. It is generated by the Zend engine.
128 E_COMPILE_WARNING Used to report Non-fatal compile-time errors. It is similar to E_WARNING. It is also generated by the Zend engine.
256 E_USER_ERROR Used to report Fatal user-generated error. It is similar to E_ERROR. It is generated through trigger_error().
512 E_USER_WARNING Used to report Non-fatal, user-generated warning. It is similar to E_WARNING. It is also generated by trigger_error().
1024 E_USER_NOTICE Used to report user-generated notices. It is similar to E_NOTICE. It is also generated by trigger_error().
2048 E_STRICT Used when we need to allow the PHP engine to suggest some changes that can be made in our PHP code for interoperability and backward compatibility.
4096 E_RECOVERABLE_ERROR Used to report only Catchable fatal error. Used to report some dangerous errors (if any).
8192 E_DEPRECATED Used to report run-time notices. Used to report some notices about the code that may not work in upcoming versions of PHP.
16384 E_USER_DEPRECATED Used to report only user-generated warning messages. It is similar to E_DEPRECATED. It is generated by trigger_error().
32767 E_ALL Used to report all errors and warnings

Advantages of the error_reporting() function in PHP

Disadvantages of the error_reporting() function in PHP

PHP Online Test


« Previous Tutorial Next Tutorial »


Liked this post? Share it!