PHP没有显示任何错误信息

32

我在家里有一个用于开发的PHP服务器,它正在运行:

Ubuntu 9.10
Apache 2.2.12
PHP 5.3.2-0.dotdeb.1
MySql 5.0.7-dev

目前php.ini中用于显示错误的设置为:

display_errors = on
error_reporting = E_ALL

但是我在我的php脚本中没有看到任何错误。另外很奇怪的是,phpinfo()向我显示了这个:

display_errors Off

我已经检查了php.ini文件并多次重启了Apache服务器,但是没有成功。有谁知道这是如何可能的吗?

编辑:
当我在本地设置这个时:

ini_set('display_errors', 'on');

我确实收到了错误信息。


@user - 不,那是一个重复的问题。这个问题比那个旧一年,并且包含更多细节。 - ArtOfWarfare
3个回答

43

你的php.ini文件中是否有多次列出display_errors参数?如果有多个定义,第二个实例将覆盖第一个。


再次感谢您清晰的思考 :) - iSenne
+1:我之前遇到过这个问题,但没想起来。哎呀。 - Powerlord
+1:在Debian中,php.ini文件中存在两个display_errors选项。一个被注释掉了,另一个在文件的下面是激活状态。我取消了第一个的注释,但显然第二个覆盖了它。在阅读了这个答案之前,我甚至没有想到这一点。所以,谢谢! - rzetterberg
1
我尝试了这个,但我的页面仍然是空白的,有什么想法吗? - jpganz18
是的,那个起作用了!我不知道为什么,但它在 php.ini 文件中出现了两次。 - Ravi Dhoriya ツ

7

Ubuntu为每种类型的PHP安装保留了单独的php.ini文件副本。

我不熟悉dotdeb版本,但我猜它可能在/etc/php5/apache2/php.ini中。

编辑: 由于显然不是这种情况,请尝试重新启动Apache。只有重新启动后,PHP才会使用更改后的设置。


我也检查了一下。我的 phpinfo() 显示 "Loaded Configuration File: /etc/php5/apache2/php.ini",这就是我所使用的 php.ini 文件! - iSenne
2
在那个文件中,display_errors 参数是否被列出多次? - thetaiko
错误可能也可以在 .htaccess 文件中关闭。 - thetaiko
我认为可以毫不夸张地说你是我的英雄:)。真的很奇怪,但在文件底部,display_errors被设置为关闭状态。非常感谢您,您节省了我很多时间。 - iSenne
在Ubuntu上遇到了同样的问题,phpinfo()显示display_errors为ON,但PHP没有显示任何错误。重新启动Apache确实解决了这个问题。 - emeraldhieu
显示剩余3条评论

-5

请按照以下设置启用

display_errors

默认值:开

开发环境值:开

生产环境值:关

error_reporting

默认值:E_ALL & ~E_NOTICE

开发环境值:E_ALL | E_STRICT

生产环境值:E_ALL & ~E_DEPRECATED

重启 Apache 服务器


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接