当然有 GC,不然像 swoole 之类的只能以 php-cli 运行的不 GC 内存不就炸了…… 但是 PHP 本身的 GC 很弱鸡,在 5.2 之前一般都是线程结束时回收,也就是一个 Session 终止后,而 php-cli 又没有 Session,所以经常会内存越占越多。 5.2 之后引入了 Zend GC,情况稍微好一些。 7.0 之后对 GC 又进一步优化,更好一些。 另外 PHP 提供了 gc_collect_cycles 方法用于手动触发 GC。
当然有 GC,不然像 swoole 之类的只能以 php-cli 运行的不 GC 内存不就炸了……
但是 PHP 本身的 GC 很弱鸡,在 5.2 之前一般都是线程结束时回收,也就是一个 Session 终止后,而 php-cli 又没有 Session,所以经常会内存越占越多。
5.2 之后引入了 Zend GC,情况稍微好一些。
7.0 之后对 GC 又进一步优化,更好一些。
另外 PHP 提供了
gc_collect_cycles
方法用于手动触发 GC。