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 相关文章推荐
用 php 编写的日历
Oct 09 PHP
PHP网站提速三大“软”招
Oct 09 PHP
模拟OICQ的实现思路和核心程序(一)
Oct 09 PHP
PHP新手上路(六)
Oct 09 PHP
PHP JSON 数据解析代码
May 26 PHP
使用array mutisort 实现按某字段对数据排序
Jun 18 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
Dec 16 PHP
php从完整文件路径中分离文件目录和文件名的方法
Mar 13 PHP
php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手)
Jun 03 PHP
PHP类的声明与实例化及构造方法与析构方法详解
Jan 26 PHP
PHP实现的CURL非阻塞调用类
Jul 26 PHP
laravel框架中表单请求类型和CSRF防护实例分析
Nov 23 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截取汉字乱码问题解决方法mb_substr函数的应用
2008/03/30 PHP
PHP如何使用cURL实现Get和Post请求
2020/07/11 PHP
JavaScript基础知识之数据类型
2012/08/06 Javascript
jQuery学习笔记 获取jQuery对象
2012/09/19 Javascript
jquery获取URL中参数解决中文乱码问题的两种方法
2013/12/18 Javascript
js jquery分别实现动态的文件上传操作按钮的添加和删除
2014/01/13 Javascript
JavaScript中的toLocaleLowerCase()方法使用详解
2015/06/06 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(二)
2015/12/10 Javascript
jQuery语法小结(超实用)
2015/12/31 Javascript
浅谈JavaScript 覆盖原型以及更改原型
2016/08/31 Javascript
详解Angular 中 ngOnInit 和 constructor 使用场景
2017/06/22 Javascript
jQuery实现弹窗下底部页面禁止滑动效果
2017/12/19 jQuery
vue点击input弹出带搜索键盘并监听该元素的方法
2018/08/25 Javascript
解决vue-cli项目webpack打包后iconfont文件路径的问题
2018/09/01 Javascript
JS常见内存泄漏及解决方案解析
2020/05/30 Javascript
vue实现页面切换滑动效果
2020/06/29 Javascript
在Echarts图中给坐标轴加一个标识线markLine
2020/07/20 Javascript
基于vue中的scoped坑点解说
2020/09/04 Javascript
[57:36]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第三场 2月1日
2021/03/11 DOTA
python多进程提取处理大量文本的关键词方法
2018/06/05 Python
python保存二维数组到txt文件中的方法
2018/11/15 Python
Python实现代码统计工具
2019/09/19 Python
Python实现图像去噪方式(中值去噪和均值去噪)
2019/12/18 Python
使用Python对Dicom文件进行读取与写入的实现
2020/04/20 Python
使用python实现下载我们想听的歌曲,速度超快
2020/07/09 Python
为什么Runtime.exec(“ls”)没有任何输出?
2014/10/03 面试题
总经理办公室主任岗位职责
2013/11/12 职场文书
喷漆工的岗位职责
2014/03/17 职场文书
年会主持词结束语
2014/03/27 职场文书
小学教师自我剖析材料
2014/09/29 职场文书
小学少先队辅导员述职报告
2015/01/10 职场文书
家装业务员岗位职责
2015/04/03 职场文书
2015年组织部工作总结
2015/04/03 职场文书
2015小学教育教学工作总结
2015/07/21 职场文书
MySQL千万级数据表的优化实战记录
2021/08/04 MySQL
PostgreSQL聚合函数介绍以及分组和排序
2022/04/12 PostgreSQL