我在循环中使用 PHPQuery(HTML 解析器),每次使用 phpQuery::unloadDocuments()
取消设置以前的文档。循环简化为:
while(...){
$doc="parsed stuff";
...
unset($doc);
}
但是,这里存在内存泄漏,因为脚本会在一段时间后耗尽内存。网上查了下,有人建议为了避免内存泄露,应该用函数包裹起来,于是改成这样:
function r(){
$doc="parsed stuff";
...
unset($doc);
}
while(...)
r();
现在,内存泄漏停止了。这是为什么?
最佳答案
查看此 http://php.net/manual/en/language.references.unset.php , 那里有很好的例子。
关于PHP 垃圾回收和函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15595347/