symfony2 app.php调试参数之间的区别

时间:2012-09-25 11:56:25

标签: symfony

我有一个symfony2项目运行良好,经过一些html修改后,我在app.php中设置时总是得到一个空白页:

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

但如果我将debug参数设置为true:

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

一切正常,我在prod.log中看不到任何日志。我在我的服务器上使用php apc和fastCGI。谁能告诉我参数之间的区别?或者这只是缓存问题?

2 个答案:

答案 0 :(得分:0)

你说

  

经过一些html的修改后

是什么原因?这绝对不足以帮助您解决问题。尝试设置

ini_set('display_errors', 1);
error_reporting(-1); 
在你的app.php文件中

。至少必须提供错误消息。

答案 1 :(得分:0)

最后,我发现了问题。 我在appache的日志中再次搜索,我收到了这个错误: [Fri Oct 26 14:12:19 2012] [错误] [client 127.0.0.1] PHP致命错误:require()[function.require]:无法打开所需的'D:/ workspace / symfony_bannieres / app / cache / devprod / D:\ workspace \ symfony_bannieres \ vendor \ doctrine \ lib \ Doctrine \中的doctrine / orm / Proxies \ AcmeModerationBundleEntityModerationObjectStatusProxy.php'(include_path ='.; d:\ software \ wamp \ bin \ php \ php5.3.9 \ pear')第85行的ORM \ Proxy \ ProxyFactory.php

好的,这意味着我没有实体代理文件。我在dev env中检查这个文件,它存在。所以我弄清楚哪个是我的实体类的问题。我发现在我的实体类中存在一个未定义的关系,

 /**
 * @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。一切正常。