So erhalten Sie nützliche Fehlermeldungen in PHP
P粉590929392
2023-08-20 14:30:17
<p>Oft versuche ich, ein PHP-Skript auszuführen und erhalte nur einen leeren Bildschirm. Keine Fehlermeldung, nur ein leerer Bildschirm. Die Ursache könnte ein einfacher Syntaxfehler (falsche Klammern, fehlendes Semikolon) oder ein fehlgeschlagener Funktionsaufruf oder etwas ganz anderes sein. </p>
<p>Es ist schwer herauszufinden, was falsch läuft. Am Ende habe ich den Code auskommentiert, hier und da „Echo“-Anweisungen usw. hinzugefügt, um zu versuchen, den Umfang des Problems einzugrenzen. Aber es muss einen besseren Weg geben, oder? </p>
<p>Gibt es eine Möglichkeit, PHP dazu zu bringen, eine nützliche Fehlermeldung zu generieren, wie es Java tut? </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非常相似,并直接集成到编辑器中,因此您可以使用一个程序完成所有操作。)