1

我正在 Linux 虚拟机中运行的 LAMP 服务器上测试 PHP。在这篇文章之后,我将以下内容放在我的 PHP 脚本的开头以启用错误报告:

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

我还尝试在php.ini 文件中启用错误报告,如下所述:

display_errors = On
display_startup_errors = On
error_reporting = -1

但是,我仍然在 Chrome 的调试器中收到 500 Internal Server Error,而不是正确的错误消息:

在此处输入图像描述

中发现的实际错误消息/var/log/apache2/error.log是:

PHP Parse error: syntax error, unexpected '$userID' (T_VARIABLE) in /path/to/file

如何在 Chrome 中正确启用错误报告?

4

2 回答 2

1

那是 Apache(服务器)响应并且(可能)与 php 无关。
它只是说明您的服务器配置有问题。检查access.logand error.login /var/log/apache2/文件夹。这可能是由于/etc/apache2/apache2.conf或 中的错误配置/var/www/.htaccess(如果您有的话)。

我还将检查list.phpwebroot 文件夹中是否存在以及文件夹和文件是否可读(chmod -R 755 /var/www在 cli 中使用以使所有文件和文件夹可读)

于 2013-09-02T20:26:38.003 回答
0

您应该检查您是否处于开发环境而不是生产环境中。根据主机,它可能在配置文件中。这是一个例子:

app.engine=php
app.engine.version=5.6
http.firewall=none
environment=development

这样你就可以看到你的错误!然后当你完成后,你可以设置 environment=production,如果错误仍然存​​在,用户将看到 ERROR 500。

于 2017-09-13T21:41:46.590 回答