Sea*_*ney 29 php error-reporting
通常我E_ALL会看到PHP可能会对我的代码说些什么来尝试改进它.
我刚刚注意到一个错误常数E_STRICT,但从未使用或听说过它,这是一个用于开发的好设置吗?手册说:
运行时通知.允许PHP建议对代码进行更改,以确保代码的最佳互操作性和向前兼容性.
所以我想知道我是否使用最好的error_reporting水平E_ALL或者是否会E_STRICT是最好的?或者还有其他我尚未学习的组合吗?
Jim*_*Jim 44
在PHP 5中,所涵盖的内容E_STRICT未被涵盖E_ALL,因此为了获得最多信息,您需要将它们组合在一起:
error_reporting(E_ALL | E_STRICT);
Run Code Online (Sandbox Code Playgroud)
在PHP 5.4中,E_STRICT将包含在内E_ALL,因此您可以使用E_ALL.
你也可以使用
error_reporting(-1);
Run Code Online (Sandbox Code Playgroud)
这将始终启用所有错误.哪个在语义上更正确:
error_reporting(~0);
Run Code Online (Sandbox Code Playgroud)
Edu*_*nho 10
在php.ini中使用以下内容:
error_reporting = E_ALL | E_STRICT
Run Code Online (Sandbox Code Playgroud)
此外,你应该安装Xdebug,它可以突出你的错误明亮的颜色和打印有用的详细信息.
永远不要在代码中出现任何错误或通知,即使它是无害的.
在我看来,你在开发阶段设置错误报告级别越高越好.
在实时环境中,您需要稍微(但只是略微)缩小的设置,但是您希望它们记录在用户无法看到的某个位置(我更喜欢syslog).
http://php.net/error_reporting
E_ALL | E_STRICT 用于5.2.0之前的PHP开发.
5.2介绍E_RECOVERABLE_ERROR和5.3介绍E_DEPRECATED和E_USER_DEPRECATED.如果你正在运行其中一个版本,你可能想要打开它们.
如果你想使用魔术数字,你可以将error_reporting值设置为某个相当高的值2^n-1- 比如说,16777215这实际上只是打开它们之间的所有位1..n.但我不认为使用魔术数字是个好主意......
在我看来,由于E_ALL并不是真的全部,PHP已经放弃了一些球.但显然它将在PHP 6中得到修复......
| 归档时间: |
|
| 查看次数: |
20133 次 |
| 最近记录: |