So erhalten Sie nützliche Fehlermeldungen in PHP
P粉590929392
P粉590929392 2023-08-20 14:30:17
0
2
521
<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>
P粉590929392
P粉590929392

Antworte allen(2)
P粉608647033

以下代码启用所有错误:

ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(-1);

还可以参考以下链接:

P粉817354783

默认情况下,显示错误是关闭的,因为您不希望“客户”看到错误消息。

请查看PHP文档中的此页面,了解有关两个指令的信息:error_reportingdisplay_errors。您可能想更改的是display_errors

所以您有3个选项:

(1) 您可以检查错误日志文件,因为它将包含所有错误(除非已禁用日志记录)。要启用错误日志记录,请确保log_errors配置指令设置为On。当错误不是由PHP引起而是由Web服务器发出时,日志也很有帮助。

(2) 您可以添加以下2行代码,以帮助您调试在同一文件中发生的非语法错误:

error_reporting(E_ALL);
ini_set('display_errors', 'On');

请注意,在生产服务器上,后者应设置为Off(但仅限于后者,因为您仍然需要从日志文件中了解所有发生的错误)。

然而,对于在同一文件中发生的语法错误,上述命令将不起作用,您需要在php.ini中启用它们。如果无法修改php.ini文件,您还可以尝试将以下行添加到.htaccess文件中,尽管现在很少支持:

php_flag  display_errors        on
php_value error_reporting       -1

(3) 另一个选择是使用在键入时检查错误的编辑器,例如PhpEd、VSCode或PHPStorm。它们都配备了调试器,可以提供更详细的信息。(PhpEd调试器与xdebug非常相似,并直接集成到编辑器中,因此您可以使用一个程序完成所有操作。)

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!