【发布时间】:2012-09-11 14:46:42
【问题描述】:
我试图在 Google 上找到一些关于在运行我的一个项目时随机发生的这个奇怪的致命 PHP 错误的信息。
在第 1341 行的 Doctrine/ORM/Persisters/BasicEntityPersister.php 中找不到类“Doctrine\ORM\ORMException”
第 0 行 Unknown 中允许的内存大小为 134217728 字节已用尽(尝试分配 47877190154432 字节)
当显示一个页面时,这些错误在没有任何逻辑的情况下发生,该页面的源数据和处理后的数据在一次调用中保持不变,并且有时脚本在哪里:
- 运行良好,
- 传输过程中有时会失败,
- 在服务器可以发送任何数据(包括 HTTP 标头)之前有时会失败,
- 有时工作正常,但从呈现的 HTML 中进行后续 ajax 调用失败
我检查了日志文件,但找不到任何关于为什么会发生这种情况的线索。
谁能告诉我他是否遇到过这种问题和/或告诉我可以检查的东西以解决这个烦人的问题吗?
编辑:似乎与预编译有关的 Smarty 问题...
【问题讨论】:
-
您是传输大文件还是将文件存储到数据库中,还是进行 eval()?
-
错误信息说 PHP 试图分配 47877 GB 的 RAM!不出所料,它失败了。
-
您是否尝试打印出 Doctrine 对象(用于记录)?这会产生无休止的递归,因为两个对象相互依赖
-
@DelPedro :不,不是这些。该页面通过不带参数的简单 GET 调用。没有文件操作,也没有 eval()。
-
@Jocelyn。我也注意到了这一点。但是,请确保我没有尝试过,我的服务器没有这么多内存! :)
标签: php memory doctrine-orm