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 相关文章推荐
Ajax+PHP边学边练 之五 图片处理
Dec 03 PHP
php读取远程gzip压缩网页的方法
Dec 29 PHP
php字符串函数学习之strstr()
Mar 27 PHP
分享五个PHP7性能优化提升技巧
Dec 07 PHP
简介WordPress中用于获取首页和站点链接的PHP函数
Dec 17 PHP
我整理的PHP 7.0主要新特性
Jan 07 PHP
PHP树-不需要递归的实现方法
Jun 21 PHP
PHP与SQL语句常用大全
Dec 10 PHP
PHP 返回数组后处理方法(开户成功后弹窗提示)
Jul 03 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
Sep 22 PHP
php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
Aug 17 PHP
基于thinkphp5框架实现微信小程序支付 退款 订单查询 退款查询操作
Aug 17 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
Windows下安装Memcached的步骤说明
2010/04/25 PHP
免费的ip数据库淘宝IP地址库简介和PHP调用实例
2014/04/08 PHP
CI框架中libraries,helpers,hooks文件夹详细说明
2014/06/10 PHP
PHP中一个有趣的preg_replace函数详解
2018/08/15 PHP
5秒后跳转效果(setInterval/SetTimeOut)
2013/05/03 Javascript
js showModalDialog参数的使用详解
2014/01/07 Javascript
jQuery:delegate中select()不起作用的解决方法(实例讲解)
2014/01/26 Javascript
js事件监听机制(事件捕获)总结
2014/08/08 Javascript
JS动态加载当前时间的方法
2015/02/09 Javascript
jquery.cookie.js用法实例详解
2015/12/25 Javascript
AngularJS服务service用法总结
2016/12/13 Javascript
微信小程序五星评分效果实现代码
2017/04/06 Javascript
JavaScript实现购物车基本功能
2017/07/21 Javascript
vue-router启用history模式下的开发及非根目录部署方法
2018/12/23 Javascript
JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例
2019/01/29 Javascript
vue element-ui之怎么封装一个自己的组件的详解
2019/05/20 Javascript
vue实现百度搜索功能
2020/12/28 Javascript
layui table表格数据的新增,修改,删除,查询,双击获取行数据方式
2019/11/14 Javascript
JavaScript实现轮播图片完整代码
2020/03/07 Javascript
python中正则表达式的使用方法
2018/02/25 Python
Sanic框架异常处理与中间件操作实例分析
2018/07/16 Python
python得到单词模式的示例
2018/10/15 Python
Python OpenCV实现视频分帧
2019/06/01 Python
解决Django Static内容不能加载显示的问题
2019/07/28 Python
解决python多线程报错:AttributeError: Can't pickle local object问题
2020/04/08 Python
Python抓包并解析json爬虫的完整实例代码
2020/11/03 Python
美国钻石商店:Zales
2016/11/20 全球购物
电子商务专业毕业生工作推荐信
2013/11/17 职场文书
飞屋环游记观后感
2015/06/08 职场文书
格列夫游记读书笔记
2015/07/01 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书
优秀党员先进事迹材料2016
2016/02/29 职场文书
Pandas自定义选项option设置
2021/07/25 Python
MySQL 用 limit 为什么会影响性能
2021/09/15 MySQL
将MySQL的表数据全量导入clichhouse库中
2022/03/21 MySQL
vue组件冲突之引用另一个组件出现组件不显示的问题
2022/04/13 Vue.js