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 03 PHP
PHP 输出简单动态WAP页面
Jun 09 PHP
解析PHP可变函数的经典用法
Jun 20 PHP
php修改指定文件后缀的方法
Sep 11 PHP
ThinkPHP中Session用法详解
Nov 29 PHP
PHP中使用Memache作为进程锁的操作类分享
Mar 30 PHP
用PHP将Unicode 转化为UTF-8的实现方法(推荐)
Feb 08 PHP
php实现的生成迷宫与迷宫寻址算法完整实例
Nov 06 PHP
php+redis消息队列实现抢购功能
Feb 08 PHP
PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
May 30 PHP
Laravel 使用查询构造器配合原生sql语句查询的例子
Oct 12 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
我的论坛源代码(十)
2006/10/09 PHP
php array的学习笔记
2012/05/10 PHP
PHP文件读写操作相关函数总结
2014/11/18 PHP
javascript编程起步(第六课)
2007/02/27 Javascript
javascript时间自动刷新实现原理与步骤
2013/01/06 Javascript
关于JavaScript中name的意义冲突示例介绍
2014/05/29 Javascript
基于iframe实现类似于ajax的页面无刷新
2014/05/31 Javascript
js星星评分效果
2014/07/24 Javascript
Bootstrap 表单验证formValidation 实现远程验证功能
2017/05/17 Javascript
Angular.JS中指令ng-if的注意事项小结
2017/06/21 Javascript
详解基于Angular4+ server render(服务端渲染)开发教程
2017/08/28 Javascript
基于ES6 Array.of的用法(实例讲解)
2017/09/05 Javascript
VueJs 将接口用webpack代理到本地的方法
2017/11/27 Javascript
Vue.js 的移动端组件库mint-ui实现无限滚动加载更多的方法
2017/12/23 Javascript
JS 实现百度搜索功能
2018/02/01 Javascript
JavaScript原型链与继承操作实例总结
2018/08/24 Javascript
在Vue项目中用fullcalendar制作日程表的示例代码
2019/08/04 Javascript
layui使用表格渲染获取行数据的例子
2019/09/13 Javascript
[02:49]2018DOTA2亚洲邀请赛主赛事决赛日战况回顾 Mineski鏖战5局夺得辉耀
2018/04/10 DOTA
Python tkinter模块中类继承的三种方式分析
2017/08/08 Python
django 环境变量配置过程详解
2019/08/06 Python
python__name__原理及用法详解
2019/11/02 Python
python3 assert 断言的使用详解 (区别于python2)
2019/11/27 Python
pytorch masked_fill报错的解决
2020/02/18 Python
Django bulk_create()、update()与数据库事务的效率对比分析
2020/05/15 Python
canvas实现图片马赛克的示例代码
2018/03/26 HTML / CSS
浅谈Html5中视频 音频标签 进度条的问题
2016/07/26 HTML / CSS
The North Face北面美国官网:美国著名户外品牌
2018/09/15 全球购物
The Kooples美国官方网站:为情侣提供的法国当代时尚品牌
2019/01/03 全球购物
银行员工辞职信范文
2014/01/20 职场文书
语文教学感言
2014/02/06 职场文书
护士毕业自我鉴定
2014/02/07 职场文书
道歉的话语大全
2015/05/12 职场文书
Nginx快速入门教程
2021/03/31 Servers
Python包管理工具pip的15 个使用小技巧
2021/05/17 Python
SpringBoot深入分析讲解监听器模式下
2022/07/15 Java/Android