So lösen Sie Probleme mit der Anzeige von PHP-Fehlern
P粉469090753
P粉469090753 2023-08-20 11:45:59
0
2
603
<p>Ich habe meine PHP-INI-Datei (<code>php.ini</code>) überprüft und <code>display_errors</code> ist ebenfalls eingestellt und die Fehlerberichterstattung ist ebenfalls <code>E_ALL</code> . Ich habe meinen Apache-Webserver neu gestartet. </p> <p>Ich habe diese Zeilen sogar oben in mein Skript eingefügt, aber es erkennt nicht einmal einfache Analysefehler. Ich deklariere beispielsweise eine Variable mit <code>"$"</code>, aber mir fehlt die Schlussanweisung <code>";"</code>. Aber alle Skripte zeigen bei diesen Fehlern eine leere Seite an, aber ich möchte tatsächlich <strong>Fehler</strong> sehen. </p> <pre class="brush:php;toolbar:false;">error_reporting(E_ALL); ini_set('display_errors', 1);</pre> <p>Muss noch etwas getan werden? </p>
P粉469090753
P粉469090753

Antworte allen(2)
P粉604507867

您无法在启用运行时错误输出的同一文件中捕获解析错误,因为它在实际执行任何内容之前对文件进行解析(并且由于在此过程中遇到错误,它不会执行任何内容)。您需要更改实际的服务器配置,以便打开display_errors并使用适当的error_reporting级别。如果您无法访问php.ini,您可能可以使用.htaccess或类似的方法,这取决于服务器。

此问题可能提供额外的信息。

P粉691461301

开发环境

这对我总是有效:

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

然而,这并不能让PHP显示在同一文件中发生的解析错误 - 显示这些错误的唯一方法是修改你的php.ini文件,加入这一行:

display_errors = on

(如果你无法访问php.ini,那么将这一行放在.htaccess中也可能有效):

php_flag display_errors 1

生产环境

请注意,上述建议仅适用于开发环境。在生产环境中,必须将其设置为:

display_errors = off
log_errors = on

然后你就能在错误日志中看到所有的错误。请参阅在哪里找到PHP错误日志

AJAX调用

对于AJAX调用,在开发服务器上打开DevTools(F12),然后选择Network选项卡。 然后发起你想要查看结果的请求,它将出现在Network选项卡中。点击它,然后选择Response选项卡。在那里你将看到确切的输出。
而在生产服务器上,同样只需检查错误日志。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage