Я использую 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
.