PHP 垃圾回收和函数

标签 php memory-leaks phpquery

我在循环中使用 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/

相关文章:

memory-leaks - 如何在 Clojure 中泄漏内存?

php - PHP 的抓取库 - phpQuery?

php - 使用 php 修复 html 文档上错误显示的编码

ruby - 分配给 "lib/ruby/2.1.0/timeout.rb"的 1GB 内存

php查询。如何解析 <td> 表标记中的每第九个 <tr>

php - JS 数组转 PHP

java - 将 php 正则表达式转换为 java 正则表达式

php - Zend_Validate_StringLength 编码?

PHP json_encode 转 JS

c++ - 如果调用 delete array 而不是 delete []array,_CrtMemDumpAllObjectsSince() 函数无法检测到泄漏