How do I get PHP errors to display?

There are four ways to display errors in PHP which are listed below:

  • error_reporting: It does not disaply the E-STRICT, E-NOTICE and E_DEPRECATED level errors and display all the other level errors.
  • display_errors: Its default value is “off”. Set it to “on”.
  • log_errors: It’s default value is “on” which indicates whether or not error logging should be done.
  • error_log string: It sets the name of the file where scripts error should be logged.

Example: To display errors in PHP the fastest and easiest way is by adding the following lines to your code.

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
  • ini_set: The ini_set function will try to override the configuration found in PHP ini file.
  • display_errors: It is a directive which determine whether the error will be displayed to the user or will be remain hidden.
  • display_startup_errors: It is a directive which is used to find errors during PHP’s startup sequence. The list of the directives that can be overridden by the ini_set function is found in the official documentation.

These two directives does not display parse errors.



Program 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
  
include("gfg.php");
?>

chevron_right


Output:

A warning will be shown- No such directory or file found in (location of file)
with the specified line of error.

To display errors including parse errors following changes must be made at php.ini and restart php-fpm, apche2

display_errors = on

Program 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php 
  
// Display number 0 to 5
for($i = 0; $i <= 5 $i++) // Semicolon after $i<=5 is missing 
{
echo $i;
}
?>

chevron_right


Output:

  • Output when display_error is disabled in php.ini file:
    HttpError
  • Output when display_error is enabled and restarted:
    ErrorOutput

The above directives will display any PHP errors encountered when loading the website on the browser. The display-errors should be disabled when the site is live to prevent any security when not in the development environment.



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.