(tips: refcount和zval是什么?每个变量在PHP底层都是一个zval的结构体中保存,相同值得变量共用一个值,用refcount来保存指向这个值得变量个数,比如$a=$b=1,则他们指向一个zval,值为1,refount=2 ,表示有两个变量指向了它,详细了解见PHP内核的存储机制(分离/改变))阿 下边是实际数据的一个测试,结论在右下角:
如何避免内存泄露: 1. 写高质量代码,减少内存泄漏的可能 2.根据PHP生命周期回收,让系统自动回收内存(对于非常驻行程序有效,RINIT ,RSHOTDOWN) 3.手动回收,即重启服务器nginx或apache (MINIT ,MSHOTDOWN) 4.调高php.ini配置文件: php.ini memory_limit = 128M(不推荐) Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 38218371 bytes) 128MB = 134217728byte