PHP session垃圾回收机制实例分析

 更新时间:2019年06月28日 11:55:04   作者:webbc  
这篇文章主要介绍了PHP session垃圾回收机制,简单分析了session垃圾回收机制的原理、配置及相关使用技巧,需要的朋友可以参考下

本文实例讲述了PHP session垃圾回收机制。分享给大家供大家参考,具体如下:

session过期时间

在php.ini文件中有这样一个配置,这个配置表示session文件过期时间,默认的话是1440秒,也就是24分钟,这个24分钟是session的发呆时间,如果在24分钟内没有对session进行操作,那么session文件就会过期,如果在23分钟的时候操作了session,那么就会又有24分钟的过期时间,如果过期了,该session被服务器认为是垃圾。

session.gc_maxlifetime = 1440

垃圾回收机制控制

还有这样的两个配置,服务器每次session_start的时候,都有可能启动垃圾回收机制去删除垃圾文件,这个概率为session.gc_probability / session.gc_divisor

session.gc_probability = 1
session.gc_divisor = 1000

案例

我们可以这样进行配置,来体会一下session垃圾回收机制。

session.gc_maxlifetime = 60
session.gc_probability = 1000
session.gc_divisor = 1000

这样session的过期时间为60秒,还有就是每次session_start的时候都会去开启gc,然后删除垃圾。

然后写一个脚本:gc.php

<?php
session_start();

测试

1、然后第一次启动浏览器去请求gc.php,然后关闭浏览器,这个时候会产生第一个session文件,如果没有配置的话,默认是在C:\Window\Temp目录下,这个目录也可以进行配置。

2、第二次启动浏览器去请求gc.php,然后关闭浏览器,这个时候会产生第二个session文件

3、第三次启动浏览器去请求gc.php,不关闭浏览器,然后不断的去刷新gc.php,都会去调用session_start方法,由于我们前面进行了相应的配置,所以每次session_start的时候都会去调用gc,然后gc去检测一下是否有垃圾文件,如果有垃圾文件,就将其删除,我们会看到前两个文件一个一个的被删除。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php缓存技术总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP错误与异常处理方法总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • php实现可用于mysql,mssql,pg数据库操作类

    php实现可用于mysql,mssql,pg数据库操作类

    这篇文章主要介绍了php实现可用于mysql,mssql,pg数据库操作类,以类的形式封装了对mysql,mssql,pg三种数据库的操作,非常具有实用价值,需要的朋友可以参考下
    2014-12-12
  • php的4种常用运行方式详解

    php的4种常用运行方式详解

    这篇文章主要介绍了php的4种常用运行方式,CGI、FastCGI、APACHE2HANDLER和CLI,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • php 无法加载mysql的module的时候的配置的解决方案引发的思考

    php 无法加载mysql的module的时候的配置的解决方案引发的思考

    今天配置php 的时候,发现没配起mysql ,wordpress提示我需要 mysql 的module之后上google搜索,大多数都是说php.ini 没加载起
    2012-01-01
  • PHP常用开发函数解析之数组篇[未完结]

    PHP常用开发函数解析之数组篇[未完结]

    数组处理函数在PHP开发中非常常见,学习好数组处理函数至关重要.数组处理函数在实际应用中涉及到:数组的创建,字符串于数组的相互转换,数组转XML,数组转JSON.数组的检测.数组的合并于分割.数组的数目.获取数组中的所有值,获取数组中的所有键值
    2012-07-07
  • smarty 缓存控制前的页面静态化原理

    smarty 缓存控制前的页面静态化原理

    在配置文件中我们应设置了缓存的目录,但是缓存的只有一个文件,怎么让一个模版有多个缓存文件呢
    2013-03-03
  • php实现session自定义会话处理器的方法

    php实现session自定义会话处理器的方法

    这篇文章主要介绍了php实现session自定义会话处理器的方法,可通过设置session.save_handler为user来调用自定义的回调函数,从而实现session自定义会话处理器的功能,非常具有实用价值,需要的朋友可以参考下
    2015-01-01
  • PHP实现抓取HTTPS内容

    PHP实现抓取HTTPS内容

    这篇文章主要介绍了PHP实现抓取HTTPS内容,以及遇到的问题的解决方法,需要的朋友可以参考下
    2014-12-12
  • 详解PHP的Laravel框架中Eloquent对象关系映射使用

    详解PHP的Laravel框架中Eloquent对象关系映射使用

    这篇文章主要介绍了PHP的Laravel框架中Eloquent对象关系映射使用,重点讲述了Eloquent的数据模型间关系,需要的朋友可以参考下
    2016-02-02
  • php实现的简单数据库操作Model类

    php实现的简单数据库操作Model类

    这篇文章主要介绍了php实现的简单数据库操作Model类,结合实例形式分析了php数据库操作模型类的定义与使用技巧,包括数据库的基本增删改查等功能,需要的朋友可以参考下
    2016-11-11
  • 20个PHP常用类库小结

    20个PHP常用类库小结

    下面是一些非常有用的PHP类库,相信一定可以为你的WEB开发提供更好和更为快速的方法。
    2011-09-09

最新评论