说明:
有时候调试php的时候,部份文件不能提示详细错误信息,直接就是500错误,或者什么也没显示,给开发带来很多麻烦。网上大部份方法都是改php.ini,但对于线上环境这个方法不可行,另外有些主机用户也是没有权限修改的。通过直接在运行的php文件头部加下面这段代码是最方便的。
具体:
直接在运行的php文件头部加入以下这段代码
<?php
ini_set('display_errors','1');
error_reporting(E_ALL);
?>
附录:
附录1:php error错误代码
| Value | Constant | Description | Note | 
|---|---|---|---|
| 1 | E_ERROR(integer) | Fatal run-time errors. These indicate errors that can not be recovered from, such as a memory allocation problem. Execution of the script is halted. | |
| 2 | E_WARNING(integer) | Run-time warnings (non-fatal errors). Execution of the script is not halted. | |
| 4 | E_PARSE(integer) | Compile-time parse errors. Parse errors should only be generated by the parser. | |
| 8 | E_NOTICE(integer) | Run-time notices. Indicate that the script encountered something that could indicate an error, but could also happen in the normal course of running a script. | |
| 16 | E_CORE_ERROR(integer) | Fatal errors that occur during PHP’s initial startup. This is like an E_ERROR, except it is generated by the core of PHP. | |
| 32 | E_CORE_WARNING(integer) | Warnings (non-fatal errors) that occur during PHP’s initial startup. This is like an E_WARNING, except it is generated by the core of PHP. | |
| 64 | E_COMPILE_ERROR(integer) | Fatal compile-time errors. This is like an E_ERROR, except it is generated by the Zend Scripting Engine. | |
| 128 | E_COMPILE_WARNING(integer) | Compile-time warnings (non-fatal errors). This is like an E_WARNING, except it is generated by the Zend Scripting Engine. | |
| 256 | E_USER_ERROR(integer) | User-generated error message. This is like an E_ERROR, except it is generated in PHP code by using the PHP functiontrigger_error(). | |
| 512 | E_USER_WARNING(integer) | User-generated warning message. This is like an E_WARNING, except it is generated in PHP code by using the PHP functiontrigger_error(). | |
| 1024 | E_USER_NOTICE(integer) | User-generated notice message. This is like an E_NOTICE, except it is generated in PHP code by using the PHP functiontrigger_error(). | |
| 2048 | E_STRICT(integer) | Enable to have PHP suggest changes to your code which will ensure the best interoperability and forward compatibility of your code. | Since PHP 5 but not included in E_ALLuntil PHP 5.4.0 | 
| 4096 | E_RECOVERABLE_ERROR(integer) | Catchable fatal error. It indicates that a probably dangerous error occurred, but did not leave the Engine in an unstable state. If the error is not caught by a user defined handle (see also set_error_handler()), the application aborts as it was an E_ERROR. | Since PHP 5.2.0 | 
| 8192 | E_DEPRECATED(integer) | Run-time notices. Enable this to receive warnings about code that will not work in future versions. | Since PHP 5.3.0 | 
| 16384 | E_USER_DEPRECATED(integer) | User-generated warning message. This is like an E_DEPRECATED, except it is generated in PHP code by using the PHP function trigger_error(). | Since PHP 5.3.0 | 
| 32767 | E_ALL(integer) | All errors and warnings, as supported, except of level E_STRICTprior to PHP 5.4.0. | 32767 in PHP 5.4.x, 30719 in PHP 5.3.x, 6143 in PHP 5.2.x, 2047 previously | 
The above values (either numerical or symbolic) are used to build up a bitmask that specifies which errors to report. You can use the bitwise operators to combine these values or mask out certain types of errors. Note that only ‘|’, ‘~’, ‘!’, ‘^’ and ‘&’ will be understood within php.ini.