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 相关文章推荐
使用sockets:从新闻组中获取文章(二)
Oct 09 PHP
php下使用SMTP发邮件的代码
Jan 10 PHP
PHP autoload与spl_autoload自动加载机制的深入理解
Jun 05 PHP
php错误级别的设置方法
Jun 17 PHP
PHP使用imagick读取PDF生成png缩略图的两种方法
Mar 20 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(五)
Jun 23 PHP
基于PHP的简单采集数据入库程序【续篇】
Jul 30 PHP
Codeigniter通过SimpleXML将xml转换成对象的方法
Mar 19 PHP
php使用Jpgraph绘制简单X-Y坐标图的方法
Jun 10 PHP
thinkPHP多域名情况下使用memcache方式共享session数据的实现方法
Jul 21 PHP
使用ThinkPHP生成缩略图及显示
Apr 27 PHP
PHP pthreads v3下同步处理synchronized用法示例
Feb 21 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之数组学习
2011/05/29 PHP
php面向对象中static静态属性与方法的内存位置分析
2015/02/08 PHP
php获取字符串前几位的实例(substr返回字符串的子串用法)
2017/03/08 PHP
ThinkPHP防止重复提交表单的方法实例分析
2018/05/10 PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
2018/05/24 PHP
Laravel中正确地返回HTTP状态码方法示例
2019/09/10 PHP
jquery 获取dom固定元素 添加样式的简单实例
2014/02/04 Javascript
jQuery.parseJSON(json)将JSON字符串转换成js对象
2014/07/27 Javascript
jQuery中[attribute^=value]选择器用法实例
2014/12/31 Javascript
jQuery实现拖动调整表格单元格大小的代码实例
2015/01/13 Javascript
JS实现支持多选的遍历下拉列表代码
2015/08/20 Javascript
基于jquery编写分页插件
2016/03/07 Javascript
node.js cookie-parser之parser.js
2016/06/06 Javascript
javascript阻止事件冒泡和浏览器的默认行为
2017/01/21 Javascript
jQuery动态生成不规则表格(前后端)
2017/02/21 Javascript
angularjs指令之绑定策略(@、=、&amp;)
2017/04/13 Javascript
vue-cli axios请求方式及跨域处理问题
2018/03/28 Javascript
vue实现pdf导出解决生成canvas模糊等问题(推荐)
2018/10/18 Javascript
JS中数据结构之栈
2019/01/01 Javascript
JavaScript判断数组类型的方法
2019/10/23 Javascript
微信小程序仿淘宝热搜词在搜索框中轮播功能
2020/01/21 Javascript
vue或react项目生产环境去掉console.log的操作
2020/09/02 Javascript
JavaScript实现手风琴效果
2021/02/18 Javascript
python 中的列表解析和生成表达式
2011/03/10 Python
在Docker上开始部署Python应用的教程
2015/04/17 Python
Python文件操作基本流程代码实例
2017/12/11 Python
关于python 的legend图例,参数使用说明
2020/04/17 Python
Python实现PS滤镜中的USM锐化效果
2020/12/04 Python
css3的@media属性实现页面响应式布局示例代码
2014/02/10 HTML / CSS
即时搜索数百万张门票:SeatsForEveryone.com
2018/08/26 全球购物
开学典礼决心书
2014/03/11 职场文书
应届硕士毕业生自荐信
2014/05/26 职场文书
2014年车间工作总结
2014/11/21 职场文书
PHP基本语法
2021/03/31 PHP
Redis 哨兵机制及配置实现
2022/03/25 Redis
Javascript webpack动态import
2022/04/19 Javascript