我在循环中使用 PHPQuery(HTML 解析器),并且每次使用phpQuery::unloadDocuments()
. 循环简化为:
while(...){
$doc="parsed stuff";
...
unset($doc);
}
但是,由于脚本在一段时间后内存不足,因此存在内存泄漏。网上搜索后,有人建议,为了避免内存泄漏,我应该把它包装在一个函数中,所以我改成这样:
function r(){
$doc="parsed stuff";
...
unset($doc);
}
while(...)
r();
现在,内存泄漏停止了。为什么是这样?