Ich habe meine PHP-INI-Datei (php.ini
) überprüft und display_errors
festgelegt und die Fehler werden als E_ALL
gemeldet. . Ich habe meinen Apache-Webserver neu gestartet.
Ich habe diese Zeilen sogar oben im Skript eingefügt und es werden nicht einmal einfache Parsing-Fehler erkannt. Beispielsweise deklariere ich eine Variable mit "$"
, schließe die Anweisung jedoch nicht mit ";"
. Aber alle meine Skripte zeigen bei diesen Fehlern eine leere Seite an, aber ich möchte die Fehler tatsächlich sehen.
error_reporting(E_ALL); ini_set('display_errors', 1);
Was muss noch getan werden?
您无法在运行时启用错误输出的同一文件中捕获解析错误,因为它在实际执行任何内容之前解析文件(并且由于在此期间遇到错误,因此它不会执行任何内容)。您需要更改实际的服务器配置,以便打开 display_errors 并使用适当的 error_reporting 级别。如果您无权访问 php.ini,您也许可以使用 .htaccess 或类似文件,具体取决于服务器。
此问题可能会提供更多信息。
开发环境
这对我来说总是有效:
但是,这不会使 PHP 显示同一文件中发生的解析错误 - 显示这些错误的唯一方法是使用以下行修改 php.ini:
(如果您无权访问
php.ini
,则将此行放入.htaccess
中也可能有效):产品环境
请注意,上述建议仅适用于开发环境。在实际网站上,它必须是
然后您将能够在错误日志中看到所有错误。请参阅在哪里可以找到 PHP 错误日志
AJAX 调用
如果是 AJAX 调用,请在开发服务器上打开 DevTools (F12),然后打开“网络”选项卡。 然后发起您想要看到的结果的请求,它将出现在“网络”选项卡中。单击它,然后单击“响应”选项卡。在那里您将看到确切的输出。
在实时服务器上时,只需检查错误日志即可。