So lösen Sie Probleme mit der Anzeige von PHP-Fehlern
P粉469090753
2023-08-20 11:45:59
<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>
您无法在启用运行时错误输出的同一文件中捕获解析错误,因为它在实际执行任何内容之前对文件进行解析(并且由于在此过程中遇到错误,它不会执行任何内容)。您需要更改实际的服务器配置,以便打开display_errors并使用适当的error_reporting级别。如果您无法访问php.ini,您可能可以使用.htaccess或类似的方法,这取决于服务器。
此问题可能提供额外的信息。
开发环境
这对我总是有效:
然而,这并不能让PHP显示在同一文件中发生的解析错误 - 显示这些错误的唯一方法是修改你的php.ini文件,加入这一行:
(如果你无法访问
php.ini
,那么将这一行放在.htaccess
中也可能有效):生产环境
请注意,上述建议仅适用于开发环境。在生产环境中,必须将其设置为:
然后你就能在错误日志中看到所有的错误。请参阅在哪里找到PHP错误日志
AJAX调用
对于AJAX调用,在开发服务器上打开DevTools(F12),然后选择Network选项卡。 然后发起你想要查看结果的请求,它将出现在Network选项卡中。点击它,然后选择Response选项卡。在那里你将看到确切的输出。
而在生产服务器上,同样只需检查错误日志。