2012-09-25 21 views
1

我有一个Symfony2的项目运作良好,HTML的一些修改后,我总是得到一个空白页时,我在app.php设置:Symfony2的app.php调试参数之间的差异

$kernel = new AppKernel('prod', false); 

,但如果我设置调试参数为真:

$kernel = new AppKernel('prod', true); 

一切工作正常,我没有看到我的prod.log中有任何日志。我在我的服务器上使用php apc和fastCGI。任何人都可以告诉我参数之间的区别?或者这只是一个缓存问题?

+0

检查你的Symfony,PHP和Apache错误日志。 – igorw

回答

0

终于,我发现了这个问题。我得到这个错误: [Fri Oct 26 14:12:19 2012] [error] [client 127.0.0.1] PHP致命错误:require()[function.require]:Failed需要打开'D:/ workspace/symfony_bannieres/app/cache/devprod/doctrine/orm/Proxies \ AcmeModerationBundleEntityModerationObjectStatusProxy.php'(include_path ='.; d:\ software \ wamp \ bin \ php \ php5.3.9 \ pear')在85行上的D:\ workspace \ symfony_bannieres \ vendor \ doctrine \ lib \ Doctrine \ ORM \ Proxy \ ProxyFactory.php

好的,这意味着我没有实体代理文件。我在开发环境中检查这个文件,它存在。所以我找出哪一个是我的实体类的问题。我发现在我的实体类中存在未定义的关系,

/** 
* @var AddepiUser 
* 
* @ORM\ManyToOne(targetEntity="AddepiUser") 
* @ORM\JoinColumns({ 
* @ORM\JoinColumn(name="addepi_user_id", referencedColumnName="id") 
* }) 
*/ 
private $addepiUser; 

实际上我没有这个实体。所以我删除了这一个,并使用

php app/console cache:warmup --env=prod --no-debug 

预热prod env。一切正常。

0

你说

after some modification of html

是什么原因呢?这绝对不足以帮助我们解决您的问题。尝试在您的app.php文件中设置

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

。至少必须有可以提供的错误消息。

+0

因为我真的不知道原因。唯一的修改是html代码,这绝对不是空白页面的原因。 – ferdinandfly

+0

你对html做了什么改变? –

+0

我在app.php中添加了参数并且它工作正常,即使debug = false,我也检查了Apache日志和symfony2日志,没有任何显示。然后我删除了两行display_errors,一切都很好。这真的很奇怪。 – ferdinandfly