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


Posted in PHP onJune 28, 2019

本文实例讲述了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基础知识:类与对象(1)
Dec 13 PHP
php中转义mysql语句的实现代码
Jun 24 PHP
抓取并下载CSS中所有图片文件的php代码
Sep 26 PHP
php读取EXCEL文件 php excelreader读取excel文件
Dec 06 PHP
浅谈php函数serialize()与unserialize()的使用方法
Aug 19 PHP
PHP连接和操作MySQL数据库基础教程
Sep 29 PHP
PHP获取数组长度或某个值出现次数的方法
Feb 11 PHP
PHP的Yii框架的基本使用示例
Aug 21 PHP
PHP编程实现阳历转换为阴历的方法实例
Aug 08 PHP
Django 中 cookie的使用
Aug 17 PHP
PHP设计模式之装饰器(装饰者)模式(Decorator)入门与应用详解
Dec 13 PHP
如何通过Apache在本地配置多个虚拟主机
Jul 29 PHP
PHP常用的类封装小结【4个工具类】
Jun 28 #PHP
php实现网页上一页下一页翻页过程详解
Jun 28 #PHP
php输出控制函数和输出函数生成静态页面
Jun 27 #PHP
php生成静态页面并实现预览功能
Jun 27 #PHP
PHP创建对象的六种方式实例总结
Jun 27 #PHP
PHP实现的抓取小说网站内容功能示例
Jun 27 #PHP
不常用但很实用的PHP预定义变量分析
Jun 25 #PHP
You might like
PHP 增加了对 .ZIP 文件的读取功能
2006/10/09 PHP
php截取指定2个字符之间字符串的方法
2015/04/15 PHP
54个提高PHP程序运行效率的方法
2015/07/19 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
2016/10/17 PHP
js电信网通双线自动选择技巧
2008/11/18 Javascript
jquery实现加载等待效果示例
2013/09/25 Javascript
node.js中的require使用详解
2014/12/15 Javascript
JS实现带缓冲效果打开、关闭、移动一个层的方法
2015/05/09 Javascript
JavaScript中操作字符串之localeCompare()方法的使用
2015/06/06 Javascript
javascript实现3D变换的立体圆圈实例
2015/08/06 Javascript
浅谈javascript中onbeforeunload与onunload事件
2015/12/10 Javascript
浅析$.getJSON异步请求和同步请求
2016/06/06 Javascript
javaScript知识点总结(必看篇)
2016/06/10 Javascript
微信小程序搜索组件wxSearch实例详解
2017/06/08 Javascript
Node 自动化部署的方法
2017/10/17 Javascript
react native基于FlatList下拉刷新上拉加载实现代码示例
2018/09/30 Javascript
JavaScript 复制对象与Object.assign方法无法实现深复制
2018/11/02 Javascript
vue项目页面嵌入代码块vue-prism-editor的实现
2020/10/30 Javascript
jQuery实现简单轮播图效果
2020/12/27 jQuery
vue使用transition组件动画效果的实例代码
2021/01/28 Vue.js
OpenCV2.3.1+Python2.7.3+Numpy等的配置解析
2018/01/05 Python
Django的models中on_delete参数详解
2019/07/16 Python
python使用tomorrow实现多线程的例子
2019/07/20 Python
python关于调用函数外的变量实例
2019/12/26 Python
python右对齐的实例方法
2020/07/05 Python
利用纯CSS3实现文字向右循环闪过效果实例(可用于移动端)
2017/06/15 HTML / CSS
解决HTML5手机端页面缩放的问题
2017/10/27 HTML / CSS
荷兰最大的鞋子、服装和运动折扣店:Bristol
2021/01/07 全球购物
中专生职业生涯规划书范文
2013/12/29 职场文书
施工资料员岗位职责
2014/01/06 职场文书
初级会计求职信范文
2014/02/15 职场文书
预备党员2014全国两会学习心得体会
2014/03/10 职场文书
煤矿班组长竞聘书
2014/03/31 职场文书
2015年度物业公司工作总结
2015/04/27 职场文书
公司员工培训管理制度
2015/08/04 职场文书
HDFS免重启挂载新磁盘
2022/04/06 Servers