1

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

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

但是如果我将调试参数设置为 true:

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

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

4

2 回答 2

0

你说

在对html进行一些修改后

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

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

在您的 app.php 文件中。至少必须有您可以提供的错误消息。

于 2012-09-25T13:25:36.507 回答
0

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

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

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

于 2012-10-26T12:20:57.633 回答