Symfony 프레임 워크 (Doctrine을 ORM으로 사용)와 함께 PHP를 사용하여 일부 사이트를 크롤링합니다. 이 코드는 Doctrine_Table
의 서브 클래스에 배치됩니다Symfony + Doctrine을 사용하여 PHP에서 메모리 누수가 발생했습니다.
$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;
:
내 문제는 다음과 같은 코드는 메모리 누수가 발생한다는 것입니다. 실행 부분 (물론 $data -> free(true)
)을 주석 처리하면 누출이 중지됩니다. 이로 인해 누출의 원인이되는 것은 Doctrine_Collection
이라는 결론에 도달했습니다.
실제로 작동했습니다! 이상하게도 PHP 자체로 정리해야합니다. 대신 CakePHP를 대신 사용하면 좋을 것 같습니다. :) 나는 $ (unset ($ q))를 추가 할 수 있습니다. –