【问题标题】:PHP garbage collection and functionsPHP 垃圾回收和函数
【发布时间】:2013-03-13 18:51:18
【问题描述】:

我在循环中使用 PHPQuery(HTML 解析器),并且每次都使用 phpQuery::unloadDocuments() 取消设置前一个文档。循环简化为:

while(...){
  $doc="parsed stuff";
  ...
  unset($doc);
}

但是,由于脚本在一段时间后内存不足,因此存在内存泄漏。网上搜索了一下,有人建议,为了避免内存泄漏,我应该把它包装在一个函数中,所以我改成这样:

function r(){
  $doc="parsed stuff";
  ...
  unset($doc);
}
while(...)
  r();

现在,内存泄漏停止了。这是为什么呢?

【问题讨论】:

  • 你的意思是为什么现在没有内存泄漏?
  • 循环中定义的任何其他变量?
  • silentboy:完全是 Koterpillar:我想有很多变量,超过 50 个。教派:5.3

标签: php memory-leaks phpquery


【解决方案1】:

看到这个http://php.net/manual/en/language.references.unset.php,那里有很好的例子。

【讨论】:

    猜你喜欢
    • 2011-07-15
    • 2016-09-19
    • 2012-03-21
    • 1970-01-01
    • 2015-11-13
    • 2011-09-11
    • 1970-01-01
    • 2011-08-01
    • 2012-02-19
    相关资源
    最近更新 更多