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使用数组实现队列
Feb 05 PHP
PHP表单递交控件名称含有点号(.)会被转化为下划线(_)的处理方法
Jan 06 PHP
强烈声明: 不要使用(include/require)_once
Jun 06 PHP
php解析html类库simple_html_dom(详细介绍)
Jul 05 PHP
php上传文件中文文件名乱码的解决方法
Nov 01 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
Jan 07 PHP
Linux操作系统安装LAMP环境
Jun 26 PHP
PHP创建多级目录的两种方法
Oct 28 PHP
php实现的生成迷宫与迷宫寻址算法完整实例
Nov 06 PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 PHP
PHP长连接实现与使用方法详解
Feb 11 PHP
Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析
May 15 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 模拟get_headers函数的代码示例
2013/04/27 PHP
Aster vs Newbee BO5 第一场2.19
2021/03/10 DOTA
jquery $.ajax入门应用二
2008/11/19 Javascript
Javascript计算时间差的函数分享
2011/07/04 Javascript
基于pthread_create,readlink,getpid等函数的学习与总结
2013/07/17 Javascript
JavaScript中的全局对象介绍
2015/01/01 Javascript
JavaScript原生对象之Number对象的属性和方法详解
2015/03/13 Javascript
基于JS实现的倒计时程序实例
2015/07/24 Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
2015/09/15 Javascript
jquery 判断div show的状态实例
2016/12/03 Javascript
jQuery Validate让普通按钮触发表单验证的方法
2016/12/15 Javascript
微信小程序tabbar不显示解决办法
2017/06/08 Javascript
JavaScript学习笔记之惰性函数示例详解
2017/08/27 Javascript
微信小程序导航栏滑动定位功能示例(实现CSS3的positionsticky效果)
2019/01/24 Javascript
vue+element获取el-table某行的下标,根据下标操作数组对象方式
2020/08/07 Javascript
使用Python保存网页上的图片或者保存页面为截图
2016/03/05 Python
浅谈python for循环的巧妙运用(迭代、列表生成式)
2017/09/26 Python
Python读取word文本操作详解
2018/01/22 Python
Python中的支持向量机SVM的使用(附实例代码)
2019/06/26 Python
Python调用Windows命令打印文件
2020/02/07 Python
Anaconda+vscode+pytorch环境搭建过程详解
2020/05/25 Python
新加坡领先的在线生活方式和杂货购物网站:EAMART
2019/04/02 全球购物
英国排名第一的宠物店:PetPlanet
2020/02/02 全球购物
分别介绍一下Session Bean和Entity Bean
2015/03/13 面试题
企业门卫岗位职责
2013/12/12 职场文书
小学教师办公室制度
2014/02/03 职场文书
自主招生教师推荐信
2014/05/10 职场文书
乡镇遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
党的群众路线教育实践活动学习笔记范文
2014/11/06 职场文书
《当代神农氏》教学反思
2016/02/23 职场文书
python基础之停用词过滤详解
2021/04/21 Python
Python使用OpenCV和K-Means聚类对毕业照进行图像分割
2021/06/11 Python
redis不能访问本机真实ip地址的解决方案
2021/07/07 Redis
教你使用vscode 搭建react-native开发环境
2021/07/07 Javascript
十大公认最好看的动漫:《咒术回战》在榜,《钢之炼金术师》第一
2022/03/18 日漫
mysql数据库实现设置字段长度
2022/06/10 MySQL