如何让我的 VPS 上的 Apache/PHP 设置显示 PHP 错误和警告?

如何让我的 VPS 上的 Apache/PHP 设置显示 PHP 错误和警告?

我有一个虚拟专用服务器使用Suse Linux 10.3

Apache 2 / PHP 5.2.6已自动设置。

当我看到这个有效的 PHP 文件在浏览器中,它正确显示:

<?php
echo 'this is test';
?>

然而,当我看到这个无效的 PHP 文件我期望它会显示错误,但是它什么也没显示,空白页,无来源:

<?php
nnn 'this is test';
?>

通过 phpinfo() 我发现“已加载php.ini配置文件”位于/etc/php5/apache2/php.ini,在该文件中我发现了以下未注释的行:

error_reporting  =  E_ALL

这告诉我它应该显示所有错误和警告。

我还需要做什么才能让 PHP 显示错误?

答案1

通常,Web 应用程序会将错误记录到 Apache 错误日志中。这是您的服务器或虚拟主机部分的相关 ErrorLog 设置中指定的文件。PHP 应用程序会将日志发送到那里,但它们并不是最容易访问或最有用的日志;您的日志可能会被其他错误所掩盖。可以将 PHP 配置为记录到单独的日志文件中,但这与记录到 Apache 错误日志没有太大区别。您可以使用以下命令将 Apache 配置为将错误记录到浏览器

display_errors = On

在您的 php.ini 中。这样,日志行就会出现在您的浏览器中。您真的不应该在生产系统上使用此选项。如果您需要在同一系统上混合生产和开发应用程序,您可以使用:

ini_set("display_errors","On");

位于开发 php 文件的顶部。

error_reporting 选项改变 PHP 报告的内容。

但你可以做得更好。调试是一个 PHP 扩展,它添加了一些非常有用的 PHP 开发功能,例如堆栈跟踪、分析和代码覆盖率。

答案2

display_errors = On

相关内容