2011-04-05 50 views
1

我有2个环境,地方和住在当地PHP不显示在实际环境中的错误,显示黑屏

我运行: 阿帕奇 PHP 5.2.9

直播我运行: nginx的(FPM) PHP 5.3.5

我试图设置:

error_reporting(E_ALL); 
ini_set('display_errors',1); 

这允许在两台服务器上的所有错误,但我活的服务器上,我没有看到一些错误,例如:

require('test.php); //missing single quote 

给了我一个空白屏幕,但在我的地方它给了我一个通知,致命错误(因为要求)

如果我试图要求一个不存在的文件,我在两种环境下都会出现致命错误。

我有权访问更改配置和错误报告,并且display_errors设置正确。

任何想法?

+0

仅供参考,在PHP中设置错误报告将不起作用,因为在代码执行之前抛出解析错误。您需要更改php.ini,.htaccess或user.ini ... – ircmaxell 2011-04-05 16:24:40

+0

我认为这里真正关键的一点是,您应该拥有大部分解析器类型错误,例如在推送之前制定的严重缺失报价到现场。或者甚至设置一个分段站点,所以它会进入开发 - >阶段 - >生产,这将大大减少这些类型的关键错误生产/现场版本,因为它已经在Dev框和Staging框中进行了测试。 – 2011-04-05 16:26:49

+0

我的措辞是不正确的说明目的,其实际上我的开发服务器不显示解析错误 – mononym 2011-04-05 16:32:56

回答

3

那些错误的孩子是至关重要的。他们的调试信息也很重要,可能容易受到攻击。

一些主机由于这个原因保留display_startup_errors off