如何显示 PHP 错误?
P粉807397973
P粉807397973 2023-08-23 10:45:28
0
2
577
<p>我已检查我的 PHP ini 文件 (<code>php.ini</code>) 并设置了 <code>display_errors</code>,并且错误报告为 <code>E_ALL</code>。我已经重新启动了我的 Apache 网络服务器。</p> <p>我什至将这些行放在脚本的顶部,它甚至没有捕获简单的解析错误。例如,我使用 <code>"$"</code> 声明变量,但不关闭语句<code>";"</code>。但我的所有脚本都在这些错误上显示空白页面,但我想在浏览器输出中实际看到<strong>错误</strong>。 </p> <pre class="brush:php;toolbar:false;">error_reporting(E_ALL); ini_set('display_errors', 1);</pre> <p>还需要做什么?</p>
P粉807397973
P粉807397973

全部回复(2)
P粉203648742

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

此问题可能会提供更多信息。

P粉465287592

开发环境

这对我来说总是有效:

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),然后打开“网络”选项卡。 然后发起您想要看到的结果的请求,它将出现在“网络”选项卡中。单击它,然后单击“响应”选项卡。在那里您将看到确切的输出。
在实时服务器上时,只需检查错误日志即可。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板