未显示 PHP 错误

Posted

技术标签:

【中文标题】未显示 PHP 错误【英文标题】:PHP errors are not shown 【发布时间】:2012-08-02 18:06:27 【问题描述】:

我有一个包含错误的 php 文件,但我不知道它在哪里,也没有错误报告,但我在 php.ini 和脚本中启用了错误报告。

为什么我看不到错误?

【问题讨论】:

您是否重新启动了您的网络服务器?也尝试从 shell php 运行脚本 你怎么知道里面有错误? 检查display_errors ini 设置以及error_reporting 如果是语法错误,那么命令行中的 php -l .php 应该会告诉你错误在哪里 如果是解析错误,那么使用ini_set()error_reporting() 将无济于事。配置您的php.ini.user.ini 或通过.htaccess 参数。 【参考方案1】:

使页面的前四行如下所示:

<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

这将覆盖您在其他地方的错误回显设置,以便您追踪问题。当然,如果您怀疑缺少依赖项或配置错误,请不要忘记发送phpinfo();

【讨论】:

【参考方案2】:

尝试在 PHP 中启用错误:

<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

如果您仍然没有看到任何内容并且您使用的是 Linux 和 Apache,请尝试查看 /var/log/apache2/error.log,您可以看到实时日志 tail -f /var/log/apache2/error.log

【讨论】:

以上是关于未显示 PHP 错误的主要内容,如果未能解决你的问题,请参考以下文章

PhpUnit 未显示 php 致命错误的堆栈跟踪

显示从 HTML 到 php 未发生的错误消息

当PHP错误未显示时显示它们。

BigQuery [PHP] InsertAll:未显示任何错误,但 BigQuery 表不受插入值的影响

plUpload - 服务器端错误未显示

设置了set_error_handler,但是执行一个未定义的函数时,还是显示php自带错误提示?