Documentation

Difference between revisions of "Managing PHP errors"

Line 3: Line 3:
 
= Logging errors to a file =
 
= Logging errors to a file =
  
If your username is ''foobar'', create a <code>.htaccess</code> file (for example: <code>~/www/.htaccess</code>) with this content, if you are a regular user:
+
If your username is ''foobar'', create a <code>.user.ini</code> file (for example: <code>~/www/.user.ini</code>) with this content, if you are a regular user:
  php_flag log_errors on
+
  log_errors = on
  php_value error_log /home/user/foobar/php_error.log
+
  error_log = "/home/user/foobar/php_error.log"
  
 
Or if you are an organization:
 
Or if you are an organization:
  php_flag log_errors on
+
  log_errors = on
  php_value error_log /home/org/foobar/php_error.log
+
  error_log = "/home/org/foobar/php_error.log"
  
 
= Displaying errors =
 
= Displaying errors =
  
Create a <code>.htaccess</code> file (for example: <code>~/www/.htaccess</code>) with this content:
+
Create a <code>.user.ini</code> file (for example: <code>~/www/.user.ini</code>) with this content:
  php_flag display_errors on
+
  display_errors = on
 +
 
 +
Note that PHP errors may include sensitive information, and enabling <code>display_errors</code> will cause that to be visible to the entire internet. It is therefore advised to only enable <code>display_errors</code> when actively troubleshooting a problem. Instead use an error log as specified above.
  
 
[[Category:Webserver]]
 
[[Category:Webserver]]

Revision as of 22:05, 8 July 2020

PHP errors are not displayed by default. If an error occurs, you will simply get a blank page. This is for security reasons: this way, an attacker doesn't know about possible vulnerabilities of your website. If you want to see PHP errors, you can log them to a file, or enable the display of errors.

Logging errors to a file

If your username is foobar, create a .user.ini file (for example: ~/www/.user.ini) with this content, if you are a regular user:

log_errors = on
error_log = "/home/user/foobar/php_error.log"

Or if you are an organization:

log_errors = on
error_log = "/home/org/foobar/php_error.log"

Displaying errors

Create a .user.ini file (for example: ~/www/.user.ini) with this content:

display_errors = on

Note that PHP errors may include sensitive information, and enabling display_errors will cause that to be visible to the entire internet. It is therefore advised to only enable display_errors when actively troubleshooting a problem. Instead use an error log as specified above.