Symfony2给出空白页面

Tjo*_*rie 6 php orm symfony doctrine-orm

Symfony 2死了,给了我空白页.免责声明:我讨厌空白页面.无论如何,我怎么知道出了什么问题; 为什么它会死; 为什么没有错误?

检查dev.log它给我无用的信息:

[2011-08-05 08:41:33] doctrine.DEBUG: UPDATE accTransactions SET report_id = ? WHERE id = ? ([8163,2941852])
[2011-08-05 08:41:33] event.DEBUG: Notified event "kernel.view" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\TemplateListener::onKernelView".
[2011-08-05 08:41:33] event.DEBUG: Listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\TemplateListener::onKernelView" stopped propagation of the event "kernel.view".
[2011-08-05 08:41:33] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\ResponseListener::onKernelResponse".
[2011-08-05 08:41:33] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Bundle\SecurityBundle\EventListener\ResponseListener::onKernelResponse".
[2011-08-05 08:41:33] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Bridge\Monolog\Handler\FirePHPHandler::onKernelResponse".
[2011-08-05 08:41:33] event.DEBUG: Notified event "kernel.response" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\CacheListener::onKernelResponse".
[2011-08-05 08:41:33] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelResponse".
[2011-08-05 08:41:35] event.DEBUG: Notified event "kernel.response" to listener "Symfony\Bundle\WebProfilerBundle\EventListener\WebDebugToolbarListener::onKernelResponse".
Run Code Online (Sandbox Code Playgroud)

php_error.log和其他没有错误.

我正在大型表上运行更新,每个请求执行大约1500多个查询(大约需要15秒).我假设PHP的死亡与Doctrine2有关.这是非常不稳定的,因为当交易数量似乎增加时它开始死亡......我必须管理我对ORM的期望更多,而不仅仅是空白死亡.

是否有db日志文件或可以给我一个错误的东西?除了一次执行1个事务之外还有任何工作,因为这需要13,333小时...如果查看第一个日志条目,这是一个非常基本的更新(只添加一个关系).

我用APC运行PHP 5.3.2

我还注意到当函数到达底部的flush命令时,它成功执行了它.因此,我认为现在只有SF2才能成功渲染视图?

cal*_*die 2

如果您在 Doctrine2 中进行批处理,那么您的实体管理器将会增长,并且您将超出 PHP 内存限制。

http://www.doctrine-project.org/blog/doctrine2-batch-processing.html

您正在创建数千个对象,并且随着每个周期的增加而增加。

使用 ORM 进行批处理时需要小心,以消除内存泄漏。ORM 并不总是适合这项工作的最佳工具,但如果您小心所做的事情,就可以使用它。