P粉6086470332023-08-21 13:56:06
The following code enables all errors:
ini_set('display_startup_errors', 1); ini_set('display_errors', 1); error_reporting(-1);
You can also refer to the following links:
P粉8173547832023-08-21 00:11:04
By default, display errors is turned off because you don't want "customers" to see error messages.
Check out this page in the PHP documentation for information on two directives: error_reporting
and display_errors
. What you might want to change is display_errors
.
So you have 3 options:
(1) You can check the error log file as it will contain all errors (unless logging is disabled). To enable error logging, ensure that the log_errors
configuration directive is set to On
. Logs are also helpful when the error is not caused by PHP but by the web server.
(2) You can add the following 2 lines of code to help you debug non-syntax errors that occur in the same file:
error_reporting(E_ALL); ini_set('display_errors', 'On');
Note that on a production server, the latter should be set to Off
(but only the latter, as you still need to know from the log file all errors that occurred).
However, for syntax errors that occur in the same file, the above commands will not work and you need to enable them in php.ini. If you can't modify the php.ini file, you can also try adding the following lines to the .htaccess file, although this is rarely supported these days:
php_flag display_errors on php_value error_reporting -1
(3) Another option is to use an editor that checks for errors as you type, such as PhpEd, VSCode, or PHPStorm. They all come with debuggers that provide more detailed information. (The PhpEd debugger is very similar to xdebug and integrated directly into the editor, so you can do it all with one program.)