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常用函数的使用汇总
Jun 08 PHP
PHP的PSR规范中文版
Sep 28 PHP
php生成百度sitemap站点地图类函数实例
Oct 17 PHP
php实现redis数据库指定库号迁移的方法
Jan 14 PHP
php中smarty区域循环的方法
Jun 11 PHP
浅谈PHP中output_buffering
Jul 13 PHP
变量在 PHP7 内部的实现(二)
Dec 21 PHP
PHP会话操作之cookie用法分析
Sep 28 PHP
PHP实现对文件锁进行加锁、解锁操作的方法
Jul 04 PHP
PHP从零开始打造自己的MVC框架之类的自动加载实现方法详解
Jun 03 PHP
详解阿里云视频直播PHP-SDK接入教程
Jul 09 PHP
php解析非标准json、非规范json的方式实例
May 10 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
在Ubuntu 14.04上部署 PHP 环境及 WordPress
2014/09/02 PHP
ThinkPHP独立分组使用的注意事项
2014/11/25 PHP
php数组函数array_key_exists()小结
2015/12/10 PHP
PHP递归遍历文件夹去除注释并压缩php源代码的方法示例
2018/05/23 PHP
escape、encodeURI、encodeURIComponent等方法的区别比较
2006/12/27 Javascript
初学Javascript的一些总结
2008/11/03 Javascript
js的闭包的一个示例说明
2008/11/18 Javascript
js 巧妙去除数组中的重复项
2010/01/25 Javascript
js 链式延迟执行DOME
2012/01/04 Javascript
通过Javascript创建一个选择文件的对话框代码
2012/06/16 Javascript
浅谈Javascript 数组与字典
2015/01/29 Javascript
JS图片等比例缩放方法完整示例
2016/08/03 Javascript
React实现双向绑定示例代码
2016/09/19 Javascript
JS实现微信弹出搜索框 多条件查询功能
2016/12/13 Javascript
JS 实现计算器详解及实例代码(一)
2017/01/08 Javascript
详解vue 中使用 AJAX获取数据的方法
2017/01/18 Javascript
JS中mouseup事件丢失的原因与解决办法
2017/06/14 Javascript
Vue上传组件vue Simple Uploader的用法示例
2017/08/25 Javascript
基于Angularjs-router动态改变Title值的问题
2018/08/30 Javascript
JSX在render函数中的应用详解
2019/09/04 Javascript
Python中eval带来的潜在风险代码分析
2017/12/11 Python
Django urls.py重构及参数传递详解
2019/07/23 Python
Django 创建新App及其常用命令的实现方法
2019/08/04 Python
Django 项目布局方法(值得推荐)
2020/03/22 Python
Expedia丹麦:全球领先的旅游网站
2018/03/18 全球购物
美国山地自行车、露营、户外装备和服装购物网站:Aventuron
2018/05/05 全球购物
乌克兰数字设备、配件和智能技术的连锁商店:KTC
2020/08/18 全球购物
程序员机试试题汇总
2012/03/07 面试题
最新大学生自我评价
2013/09/24 职场文书
海南地接欢迎词
2014/01/14 职场文书
关爱老人标语
2014/06/21 职场文书
大学生自我评价200字(4篇)
2014/09/17 职场文书
出纳试用期自我评价
2015/03/10 职场文书
2019财务转正述职报告
2019/06/27 职场文书
Django开发RESTful API实现增删改查(入门级)
2021/05/10 Python
Python中的np.argmin()和np.argmax()函数用法
2021/06/02 Python