码迷,mamicode.com
首页 > Web开发 > 详细

PHP 的垃圾收集机制是怎样的

时间:2017-02-13 00:19:29      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:管理   sid   基本   nan   框架   chap   占用   man   dex   

PHP作为脚本语言是页面结束即释放变量所占内存的。 当一个 PHP线程结束时,当前占用的所有内存空间都会被销毁,当前程序中所有对象同时被销毁。GC进程一般都跟着每起一个SESSION而开始运行的。

gc目的是为了在session文件过期以后自动销毁删除这些文件。在PHP中,没有任何变量指向这个对象时,这个对象就成为垃圾。PHP会将其在内存中销毁;这是PHP 的GC垃圾处理机制,防止内存溢出。 

执行这些函数也可以起到回收作用 

__destruct

unset

mysql_close

fclose php对session有明确的gc处理时间。

设定 session.gc_maxlifetime 如果说有垃圾,那就是整体的程序在框架使用中,会多次调用同一文件等等造成的非单件模式等。所以在出来的时候,必要的用_once 引用,在声明类的时候使用单件模式。还有简化逻辑等等。

而如果妄想让PHP自己本身管理内存,进行垃圾管理。呵呵。好像PHP还办不到,对于析构函数,ANDI在他的书里写的很明白。可有可无,不可置否。而内存管理的东西一般都是桌面程序更多去考虑的。

——————

以下来自官方文件

垃圾回收机制

Table of Contents

这部分将说明PHP 5.3的新的垃圾回收机制(也就是GC)的特点。

引用计数基本知识

http://php.net/manual/zh/features.gc.refcounting-basics.php#features.gc.compound-types

回收周期(Collecting Cycles) 

http://php.net/manual/zh/features.gc.performance-considerations.php

性能方面考虑的因素

http://php.net/manual/zh/features.gc.performance-considerations.php#features.gc.performance-considerations

 

PHP 的垃圾收集机制是怎样的

标签:管理   sid   基本   nan   框架   chap   占用   man   dex   

原文地址:http://www.cnblogs.com/gengyi/p/6392189.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!