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 相关文章推荐
COM in PHP (winows only)
Oct 09 PHP
一个php导出oracle库的php代码
Apr 20 PHP
php设计模式 State (状态模式)
Jun 26 PHP
jQuery+php实现ajax文件即时上传的详解
Jun 17 PHP
phpMyAdmin自动登录和取消自动登录的配置方法
May 12 PHP
PHP会员找回密码功能的简单实现
Sep 05 PHP
thinkphp Apache配置重启Apache1 restart 出错解决办法
Feb 15 PHP
Mac系统下安装PHP Xdebug
Mar 30 PHP
PHP实现websocket通信的方法示例
Aug 28 PHP
laravel5实现微信第三方登录功能
Dec 06 PHP
yii框架使用分页的方法分析
Jul 25 PHP
php将xml转化对象的实例详解
Nov 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
Fatal error: Call to undefined function curl_init()解决方法
2010/04/09 PHP
mysql_num_rows VS COUNT 效率问题分析
2011/04/23 PHP
Symfony2实现在doctrine中内置数据的方法
2016/02/05 PHP
PHP socket 模拟POST 请求实例代码
2016/07/18 PHP
Laravel日志用法详解
2016/10/09 PHP
PHP解析url并得到url参数方法总结
2018/10/11 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
javascript显示隐藏层比较不错的方法分析
2008/09/30 Javascript
javascript 日历提醒系统( 兼容所有浏览器 )
2009/04/07 Javascript
JS Jquery 遍历,筛选页面元素 自动完成(实现代码)
2013/07/08 Javascript
基于jQuery的判断iPad、iPhone、Android是横屏还是竖屏的代码
2014/05/11 Javascript
node.js中的fs.read方法使用说明
2014/12/17 Javascript
jQuery倒计时代码(超简单)
2017/02/27 Javascript
vue2.0 如何在hash模式下实现微信分享
2019/01/22 Javascript
浅谈Webpack4 Tree Shaking 终极优化指南
2019/11/18 Javascript
在vue-cli创建的项目中使用sass操作
2020/08/10 Javascript
jquery实现简单每周轮换的日历
2020/09/10 jQuery
JS实现可以用键盘方向键控制的动画
2020/12/11 Javascript
[37:22]DOTA2上海特级锦标赛D组资格赛#2 Liquid VS VP第一局
2016/02/28 DOTA
python笔记(1) 关于我们应不应该继续学习python
2012/10/24 Python
Python数组遍历的简单实现方法小结
2016/04/27 Python
Python中的连接符(+、+=)示例详解
2017/01/13 Python
Python3计算三角形的面积代码
2017/12/18 Python
使用python读取csv文件快速插入数据库的实例
2018/06/21 Python
python 自动轨迹绘制的实例代码
2019/07/05 Python
Python获取浏览器窗口句柄过程解析
2020/07/25 Python
Python猫眼电影最近上映的电影票房信息
2020/09/18 Python
eDreams澳大利亚:预订机票、酒店和度假产品
2017/04/19 全球购物
英智兴达软件测试笔试题
2016/10/12 面试题
2014年组织委员工作总结
2014/12/01 职场文书
企业介绍信范文
2015/01/30 职场文书
2015年医药代表工作总结
2015/04/25 职场文书
小学教师教育随笔
2015/08/14 职场文书
婚礼答谢词范文
2015/09/29 职场文书
浅谈Python中的正则表达式
2021/06/28 Python
Windows Server 2012 R2服务器安装与配置的完整步骤
2022/07/15 Servers