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 相关文章推荐
检查url链接是否已经有参数的php代码 添加 ? 或 &amp;
Feb 09 PHP
洪恩在线成语词典小偷程序php版
Apr 20 PHP
解析百度搜索结果link?url=参数分析 (全)
Oct 09 PHP
解析关于wamp启动是80端口被占用的问题
Jun 21 PHP
CI框架开发新浪微博登录接口源码完整版
May 28 PHP
ThinkPHP3.1新特性之Action参数绑定
Jun 19 PHP
ThinkPHP之用户注册登录留言完整实例
Jul 22 PHP
Laravel 4 初级教程之安装及入门
Oct 30 PHP
php新浪微博登录接口用法实例
Dec 23 PHP
深入解析PHP中SESSION反序列化机制
Mar 01 PHP
php把字符串指定字符分割成数组的方法
Mar 12 PHP
PHP实现链表的定义与反转功能示例
Jun 09 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
基于文本的搜索
2006/10/09 PHP
PHP 缓存实现代码及详细注释
2010/05/16 PHP
PHP页面实现定时跳转的方法
2014/10/31 PHP
Thinkphp调用Image类生成缩略图的方法
2015/03/07 PHP
php通过执行CutyCapt命令实现网页截图的方法
2016/09/30 PHP
laravel框架关于搜索功能的实现
2018/03/15 PHP
JQuery 无废话系列教程(一) jquery入门 [推荐]
2009/06/23 Javascript
jquery点击页面任何区域实现鼠标焦点十字效果
2013/06/21 Javascript
js控制淡入淡出示例代码
2013/11/12 Javascript
在jQuery中处理XML数据的大致方法
2015/08/14 Javascript
JS表格组件神器bootstrap table详解(基础版)
2015/12/08 Javascript
JS实现的走迷宫小游戏完整实例
2017/07/19 Javascript
详解AngularJS跨页面传值(ui-router)
2017/08/23 Javascript
浅谈如何使用webpack构建多页面应用
2018/05/30 Javascript
ES6 Object方法扩展的应用实例分析
2019/06/25 Javascript
jquery实现的分页显示功能示例
2019/08/23 jQuery
JavaScript实现拖拽功能
2020/02/11 Javascript
Python装饰器decorator用法实例
2014/11/10 Python
详解pyqt5 动画在QThread线程中无法运行问题
2018/05/05 Python
Python将文本去空格并保存到txt文件中的实例
2018/07/24 Python
python 限制函数执行时间,自己实现timeout的实例
2019/01/12 Python
python GUI库图形界面开发之pyinstaller打包python程序为exe安装文件
2020/02/26 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
2020/08/17 Python
python中操作文件的模块的方法总结
2021/02/04 Python
Intimissimi德国网上商店:意大利知名内衣品牌
2018/04/03 全球购物
教师学习培训邀请函
2014/02/04 职场文书
青年教师培训方案
2014/02/06 职场文书
奠基仪式策划方案
2014/05/15 职场文书
辞旧迎新演讲稿
2014/09/15 职场文书
装配出错检讨书
2014/09/23 职场文书
入党积极分子个人总结
2015/03/02 职场文书
2015个人半年总结范文
2015/03/09 职场文书
2015年民主评议党员工作总结
2015/05/19 职场文书
圣诞晚会主持词
2015/07/01 职场文书
使用tensorflow 实现反向传播求导
2021/05/26 Python
SpringBoot实现quartz定时任务可视化管理功能
2021/08/30 Java/Android