1

我有一个非常简单的查询,如下所示:

$result = Doctrine_Query::create()
->select('t.id, t.name, DATE(t.date_start) as date_start, ti.*')
->from('table t')
->leftJoin('t.foreigh_table ti')
->where("(DATE(t.date_start) BETWEEN '$startDate' AND '$endDate')")
->andWhere('t.user='.$userId)
->andWhere('t.is_public=1');

并将查询分配给 DoctrinePager 插件,如下所示:

$this->data = new sfDoctrinePager(null, 7);
$this->data->setQuery($result);
$this->data->setPage($request->getParameter('p', 1));
$this->data->init();

但是,总是抛出“内存不足”:

Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 842260576 bytes) in /home/.../lib/vendor/symfony/lib/debug/sfWebDebug.class.php on line 170

我不敢相信 1GB RAM 不足以完成这个简单的查询。

你们有什么想法吗?

更新 终于知道发生了什么。View 中的 print_r() 命令已经消耗了所有内存,只需将其注释掉,一切都会恢复正常。

4

1 回答 1

0

终于知道发生了什么。View 中的 print_r() 命令已消耗所有内存,只需将其注释掉即可,一切都恢复正常

于 2013-09-25T10:39:53.123 回答