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 相关文章推荐
第十三节--对象串行化
Nov 16 PHP
phpmyadmin的#1251问题
Nov 25 PHP
php设计模式 Mediator (中介者模式)
Jun 26 PHP
解析csv数据导入mysql的方法
Jul 01 PHP
浅析php变量作用域的一些问题
Aug 08 PHP
Laravel框架路由配置总结、设置技巧大全
Sep 03 PHP
Windows下的PHP 5.3.x安装 Zend Guard Loader教程
Sep 06 PHP
CodeIgniter连贯操作的底层原理分析
May 17 PHP
php实现的http请求封装示例
Nov 08 PHP
PHP 年月日的三级联动实例代码
May 24 PHP
PHP运用foreach神奇的转换数组(实例讲解)
Feb 01 PHP
PHP echo()函数讲解
Feb 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 addslashes()与addclashes()函数的区别和比较
2013/06/24 PHP
PHP实现全角字符转为半角方法汇总
2015/07/09 PHP
php源码的安装方法和实例
2019/09/26 PHP
转自Jquery官方 jQuery1.1.3发布,速度提升800%,体积保持20K
2007/08/19 Javascript
过虑特殊字符输入的js代码
2010/08/05 Javascript
js实现双向链表互联网机顶盒实战应用实现
2011/10/28 Javascript
json数据的列循环示例
2013/09/06 Javascript
深入掌握 react的 setState的工作机制
2017/09/27 Javascript
AngularJS 仿微信图片手势缩放的实例
2017/09/28 Javascript
如何在vue中使用ts的示例代码
2018/02/28 Javascript
关于JavaScript 数组你应该知道的事情(推荐)
2019/04/10 Javascript
[05:26]2014DOTA2西雅图国际邀请赛 iG战队巡礼
2014/07/07 DOTA
Python中的生成器和yield详细介绍
2015/01/09 Python
Python素数检测实例分析
2015/06/15 Python
Python 类与元类的深度挖掘 I【经验】
2016/05/06 Python
对python实现合并两个排序链表的方法详解
2019/01/23 Python
提升Python程序性能的7个习惯
2019/04/14 Python
Pytorch训练过程出现nan的解决方式
2020/01/02 Python
Python while循环使用else语句代码实例
2020/02/07 Python
Mac中PyCharm配置Anaconda环境的方法
2020/03/04 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
2020/03/13 Python
Python 实现二叉查找树的示例代码
2020/12/21 Python
Python 爬取淘宝商品信息栏目的实现
2021/02/06 Python
HTML5 CSS3实现一个精美VCD包装盒个性幻灯片案例
2014/06/16 HTML / CSS
HTML5单页面手势滑屏切换原理分析
2017/07/10 HTML / CSS
皇马官方商城:Real Madrid Store
2016/09/02 全球购物
Abbott Lyon官网:女士手表、珠宝及配件
2020/12/26 全球购物
Chupi官网:在爱尔兰手工制作的订婚、结婚戒指和精美珠宝
2020/09/28 全球购物
学习心得体会
2014/01/01 职场文书
市政施工员自我鉴定
2014/01/15 职场文书
学校教师安全责任书
2014/07/23 职场文书
单位委托书怎么写
2014/09/21 职场文书
清洁工岗位职责
2015/02/13 职场文书
圣诞晚会主持词
2015/07/01 职场文书
如何创建一个创建MySQL数据库中的datetime类型
2022/03/21 MySQL
Go 中的空白标识符下划线
2022/03/25 Golang