- PHP Basics
- Learn PHP
- PHP Comments
- PHP Data Types
- PHP Variables
- PHP Operators
- PHP echo
- PHP print
- PHP echo vs. print
- PHP if else
- PHP switch
- PHP for Loop
- PHP while Loop
- PHP do...while Loop
- PHP foreach Loop
- PHP break and continue
- PHP exit()
- PHP exit() vs. break
- PHP isset()
- PHP Arrays
- PHP print_r()
- PHP unset()
- PHP Strings
- PHP Functions
- PHP File Handling
- PHP File Handling
- PHP Open File
- PHP Create a File
- PHP Write to File
- PHP Read File
- PHP feof()
- PHP fgetc()
- PHP fgets()
- PHP Close File
- PHP Delete File
- PHP Append to File
- PHP Copy File
- PHP file_get_contents()
- PHP file_put_contents()
- PHP file_exists()
- PHP filesize()
- PHP Rename File
- PHP fseek()
- PHP ftell()
- PHP rewind()
- PHP disk_free_space()
- PHP disk_total_space()
- PHP Create Directory
- PHP Remove Directory
- PHP Get Files/Directories
- PHP Get filename
- PHP Get Path
- PHP filemtime()
- PHP file()
- PHP include()
- PHP require()
- PHP include() vs. require()
- PHP mysqli Tutorial
- PHP mysqli Tutorial
- PHP and MySQL Setup
- PHP mysqli: Create Database
- PHP mysqli: Create Table
- PHP mysqli: Insert Record
- PHP mysqli: Update Record
- PHP mysqli: Fetch Record
- PHP mysqli: Delete Record
- PHP mysqli: SignUp Page
- PHP mysqli: LogIn Page
- PHP mysqli: Store User Data
- PHP mysqli Functions
- PHP mysqli_connect()
- PHP mysqli_close()
- PHP mysqli_connect_errno()
- PHP mysqli_connect_error()
- PHP mysqli_query()
- PHP mysqli_fetch_row()
- PHP mysqli_fetch_assoc()
- PHP mysqli_fetch_array()
- PHP mysqli_free_result()
- PHP mysqli_error()
- PHP mysqli_prepare()
- PHP mysqli_stmt_bind_param()
- PHP mysqli_stmt_execute()
- PHP mysqli_stmt_fetch()
- PHP mysqli_stmt_store_result()
- PHP mysqli_stmt_num_rows()
- PHP mysqli_stmt_bind_result()
- PHP mysqli_stmt_get_result()
- PHP mysqli_result class
- PHP mysqli_report()
- PHP error_reporting()
- PHP mysqli_real_escape_string()
- PHP htmlspecialchars()
- PHP Misc Topics
- PHP Object Oriented
- PHP new Keyword
- PHP header()
- PHP getallheaders()
- PHP Cookies
- PHP Sessions
- PHP Date and Time
- PHP GET vs. POST
- PHP File Upload
- PHP Image Processing
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:
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() 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
- The error reporting() function can assist in the debugging of your PHP code by reporting any errors that occur during execution.
- Setting the error reporting() level to E ALL allows you to identify and fix security flaws in your code.
- By excluding non-critical errors from the error reporting() level, you can improve the performance of your PHP application by reducing the amount of unnecessary error handling.
- Certain coding standards and security frameworks may require that certain error reporting() levels be set, making compliance easier.
Disadvantages of the error_reporting() function in PHP
- If the error reporting() level is set too high, it can reveal sensitive information about your server, database, or application, which attackers could exploit.
- If the error reporting() level is set too high, a large number of error logs will be generated, making it difficult to identify important errors.
- Critical errors may be hidden if the error reporting() level is set too low, making it difficult to identify and fix problems in your code.
- Other settings, such as display errors and log errors, can affect the error reporting() function, resulting in inconsistent error reporting behavior.
« Previous Tutorial Next Tutorial »