我有一个使用Suse Linux 10.3的VPS 。
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
?