【发布时间】:2011-02-27 17:27:57
【问题描述】:
我正在使用 PHP 和 Symfony 框架(以 Doctrine 作为我的 ORM)来构建一个爬取某些网站的蜘蛛。
我的问题是下面的代码会产生内存泄漏:
$q = $this -> createQuery('Product p');
if($store) {
$q
-> andWhere('p.store_id = ?', $store -> getId())
-> limit(1);
}
$q -> andWhere('p.name = ?', $name);
$data = $q -> execute();
$q -> free(true);
$data -> free(true);
return NULL;
此代码位于Doctrine_Table 的子类中。如果我注释掉执行部分(当然还有$data -> free(true)),泄漏就会停止。这使我得出结论,是 Doctrine_Collection 导致了泄漏。
【问题讨论】:
标签: php memory-leaks symfony1 doctrine