PHP中是否有垃圾回收机制?

62

我知道在PHP中你不需要释放内存。 这是通过垃圾收集器实现的吗?

5个回答

58

7
那篇文章中没有提到的一个问题是使用create_function()创建的匿名函数不会受到垃圾回收的限制。 - Dave Lancea
@Dave Lancea 很好的观察。然而,我想指出你的链接指向了一个在2007年发表的评论,因此在2017年可能已经不是这样了(但也有可能是这样的,我没有找到更多相关信息)。 - Jamil Said
@DaveLancea,希望在PHP 8.0.0中没有create_function()函数。 :) - MAChitgarha

11

PHP具有垃圾回收和引用计数的组合。后者是管理内存的主要模式,垃圾收集器会清理引用计数器错过的部分(循环引用)。在5.3之前,PHP仅具有引用计数,即使在5.3中,这仍然是通常释放内存的方式。


3

是的,垃圾回收器也会进行会话清理。


3

1

从5.3.0版本开始,您可以使用gc_collect_cycles函数来强制进行垃圾回收。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接