获取PHP中有用的错误信息的方法
P粉590929392
2023-08-20 14:30:17
<p>很多时候,我会尝试运行一个PHP脚本,但只会得到一个空白屏幕。没有错误信息,只有一个空白的屏幕。原因可能是一个简单的语法错误(错误的括号,缺少分号),或者是一个失败的函数调用,或者完全是其他什么原因。</p>
<p>很难弄清楚出了什么问题。我最后只能注释掉代码,到处添加"echo"语句,等等,试图缩小问题的范围。但肯定有更好的方法,对吗?</p>
<p>有没有办法让PHP生成一个像Java那样有用的错误信息?</p>
以下代码启用所有错误:
还可以参考以下链接:
默认情况下,显示错误是关闭的,因为您不希望“客户”看到错误消息。
请查看PHP文档中的此页面,了解有关两个指令的信息:
error_reporting
和display_errors
。您可能想更改的是display_errors
。所以您有3个选项:
(1) 您可以检查错误日志文件,因为它将包含所有错误(除非已禁用日志记录)。要启用错误日志记录,请确保
log_errors
配置指令设置为On
。当错误不是由PHP引起而是由Web服务器发出时,日志也很有帮助。(2) 您可以添加以下2行代码,以帮助您调试在同一文件中发生的非语法错误:
请注意,在生产服务器上,后者应设置为
Off
(但仅限于后者,因为您仍然需要从日志文件中了解所有发生的错误)。然而,对于在同一文件中发生的语法错误,上述命令将不起作用,您需要在php.ini中启用它们。如果无法修改php.ini文件,您还可以尝试将以下行添加到.htaccess文件中,尽管现在很少支持:
(3) 另一个选择是使用在键入时检查错误的编辑器,例如PhpEd、VSCode或PHPStorm。它们都配备了调试器,可以提供更详细的信息。(PhpEd调试器与xdebug非常相似,并直接集成到编辑器中,因此您可以使用一个程序完成所有操作。)