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 相关文章推荐
提取HTML标签
Oct 09 PHP
建立动态的WML站点(二)
Oct 09 PHP
UCenter Home二次开发指南
May 28 PHP
优化php效率,提高php性能的一些方法
Mar 24 PHP
PHP高级对象构建 多个构造函数的使用
Feb 05 PHP
php学习笔记之面向对象编程
Dec 29 PHP
php判断ip黑名单程序代码实例
Feb 24 PHP
本地计算机无法启动Apache故障处理
Aug 08 PHP
Thinkphp调用Image类生成缩略图的方法
Mar 07 PHP
PHP中使用substr()截取字符串出现中文乱码问题该怎么办
Oct 21 PHP
PHP实现微信图片上传到服务器的方法示例
Jun 29 PHP
PHP 计算两个特别大的整数实例代码
May 07 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
PHP5常用函数列表(分享)
2013/06/07 PHP
php强制文件下载而非在浏览器打开的自定义函数分享
2014/05/08 PHP
CodeIgniter辅助之第三方类库third_party用法分析
2016/01/20 PHP
PHP PDOStatement::rowCount讲解
2019/02/01 PHP
如何重写Laravel异常处理类详解
2020/12/20 PHP
JS提交并解析后台返回的XML的代码
2008/11/03 Javascript
js弹窗代码 可以指定弹出间隔
2010/07/03 Javascript
jquery 查找iframe父级页面元素的实现代码
2011/08/28 Javascript
javascript 利用Image对象实现的埋点(某处的点击数)统计
2012/12/28 Javascript
用JS做的简单的可折叠的两级树形菜单
2013/09/21 Javascript
javascript抖动元素的小例子
2013/10/28 Javascript
jQuery实现仿腾讯微博滑出效果报告每日天气的方法
2015/05/11 Javascript
jQuery预加载图片常用方法
2015/06/15 Javascript
javascript图片延迟加载实现方法及思路
2015/12/31 Javascript
vue用addRoutes实现动态路由的示例
2017/09/15 Javascript
jQuery选择器之子元素选择器详解
2017/09/18 jQuery
html中通过JS获取JSON数据并加载的方法
2017/11/30 Javascript
微信小程序chooseImage的用法(从本地相册选择图片或使用相机拍照)
2018/08/22 Javascript
函数式编程入门实践(一)
2019/04/20 Javascript
微信小程序 扭蛋抽奖机css3动画实现详解
2019/07/19 Javascript
用vue设计一个日历表
2020/12/03 Vue.js
python中cPickle用法例子分享
2014/01/03 Python
python中使用OpenCV进行人脸检测的例子
2014/04/18 Python
Python中import机制详解
2017/11/14 Python
利用Python库Scapy解析pcap文件的方法
2019/07/23 Python
如何写python的配置文件
2020/06/07 Python
python中remove函数的踩坑记录
2021/01/04 Python
HTML5新控件之日期和时间选择输入的实现代码
2018/09/13 HTML / CSS
国际象棋商店:The Chess Store
2018/07/09 全球购物
PUMA澳大利亚官方网站:德国运动品牌
2018/10/19 全球购物
戴尔荷兰官方网站:Dell荷兰
2020/10/04 全球购物
监理员的岗位职责
2013/11/13 职场文书
打造高效课堂实施方案
2014/03/22 职场文书
入党综合考察材料
2014/06/02 职场文书
小学秋季运动会加油口号及加油稿
2019/08/19 职场文书
php实例化对象的实例方法
2021/11/17 PHP