说明:
有时候调试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 anE_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 inE_ALL until 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 anE_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 anE_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 levelE_STRICT prior 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.