【问题标题】:using gc_collect in foreach statement在 foreach 语句中使用 gc_collect
【发布时间】:2011-11-20 10:55:21
【问题描述】:

我的代码中有 foreach 语句。每一步计算大量数据,然后进入下一步。我运行这段代码并开始工作,当我回去阅读日志时,看到内存泄漏错误。所以阅读 php.net 并发现 gc_collect_cycle 适合这种情况。 将此行添加到 foreach 块的最后一行:

echo "Check GC enabled : " . gc_enabled();
echo "Number of affected cycles : " . gc_collect_cycles();

输出是这样的:

Check GC enabled : 1
Number of affected cycles : 0

为什么存在循环但受影响的循环为0?

【问题讨论】:

    标签: php memory-leaks foreach


    【解决方案1】:

    在这种情况下,循环并不意味着循环语句(例如 foreach)。 Cycles 表示代码中的循环引用。见http://php.net/manual/en/features.gc.collecting-cycles.php

    【讨论】:

      猜你喜欢
      • 2012-11-06
      • 1970-01-01
      • 2015-07-11
      • 1970-01-01
      • 1970-01-01
      • 2017-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多