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

我有一个使用Suse Linux 10.3VPS

Apache 2 / PHP 5.2.6自动设置。

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

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

但是,当我看到这个无效的PHP文件 ,我期望它显示一个错误,但它显示绝对没有 ,空白页面,没有来源:

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

通过phpinfo()我发现“加载的php.iniconfiguration文件”在/etc/php5/apache2/php.ini ,在那个文件中,我发现这个未注释的行:

 error_reporting = E_ALL 

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

我还有什么要做,让PHP显示错误?

通常,Web应用程序会将错误logging到Apache错误日志中。 这是在您的服务器或虚拟主机部分的相关ErrorLog设置中指定的文件。 PHP应用程序将在那里发送日志,但它们并不完全是最易访问或有用的日志; 您的日志logging可能在其他错误之间丢失。 PHP可以被configuration为login到一个单独的日志文件,但是这与logging到Apache错误日志没有什么不同。 您可以configurationApache以使用错误logging到浏览器

 display_errors = On 

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

 ini_set("display_errors","On"); 

在你的开发php文件的顶部。

error_reporting选项更改PHP报告。

你可以做得更好。 XDebug是一个PHP扩展,它增加了一些非常有用的PHP开发function,如堆栈跟踪,分析和代码覆盖。

 display_errors = On