具体查看php文档 垃圾回收机制.
在php5.3之前php使用引用计数的方式管理内存。所有变量保存在zval变量容器中,每引用一次,计数加一。引用次
数为0是清空。但是如果出现循环引用的情况下,引用次数一直累加,无法释放,内存就会发生泄漏,如图5.2
所示,内存使用量会一直增加。
而在php5.3且之后做了优化。但内存满一定空间之后就会开始进行清理,所以如图php5.3就会出现锯齿的形
状,避免了过多的内存泄漏。
编写代码时候如何注意内存泄漏?
- 扩大php内存分配
- 引用完变量手动删除
- 分批处理数据