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基础学习笔记
Mar 18 PHP
PHP 危险函数全解析
Sep 09 PHP
php定时计划任务与fsockopen持续进程实例
May 23 PHP
浅析ThinkPHP中execute和query方法的区别
Jun 13 PHP
PHP 读取文本文件内容并分页显示
Jan 02 PHP
php metaphone()函数的定义和用法
May 15 PHP
PHP身份证校验码计算方法
Aug 10 PHP
thinkPHP5.0框架简单配置作用域的方法
Mar 17 PHP
PHP 应用容器化以及部署方法
Feb 12 PHP
PHP实现获取毫秒时间戳的方法【使用microtime()函数】
Mar 01 PHP
PHP使用Session实现上传进度功能详解
Aug 06 PHP
PHP PDO和消息队列的个人理解与应用实例分析
Nov 25 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 格式化数字的时候注意数字的范围
2010/04/13 PHP
详解PHP的Yii框架的运行机制及其路由功能
2016/03/17 PHP
PHP实现简单的模板引擎功能示例
2017/09/02 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
2020/10/30 PHP
js打造数组转json函数
2015/01/14 Javascript
对JavaScript中this指针的新理解分享
2015/01/31 Javascript
JavaScript计算两个日期时间段内日期的方法
2015/03/16 Javascript
javascript等号运算符使用详解
2015/04/16 Javascript
自己动手写的jquery分页控件(非常简单实用)
2015/10/28 Javascript
jQuery动态产生select option下拉列表
2017/03/15 Javascript
AngularJS页面带参跳转及参数解析操作示例
2017/06/28 Javascript
运用jQuery写的验证表单(实例讲解)
2017/07/06 jQuery
Vue 开发音乐播放器之歌手页右侧快速入口功能
2018/08/08 Javascript
JS封装的模仿qq右下角消息弹窗功能示例
2018/08/22 Javascript
vue初始化动画加载的实例
2018/09/01 Javascript
关于vue编译版本引入的问题的解决
2018/09/17 Javascript
js防抖和节流的深入讲解
2018/12/06 Javascript
基于mpvue搭建微信小程序项目框架的教程详解
2019/04/10 Javascript
了解javascript中let和var及const关键字的区别
2019/05/24 Javascript
vue中的.$mount('#app')手动挂载操作
2020/09/02 Javascript
基于vue+echarts数据可视化大屏展示的实现
2020/12/25 Vue.js
关于javascript中的promise的用法和注意事项(推荐)
2021/01/15 Javascript
[01:23]一分钟告诉你 DOTA2为什么叫信仰2
2014/06/20 DOTA
打开电脑上的QQ的python代码
2013/02/10 Python
python图像处理之反色实现方法
2015/05/30 Python
python实现判断数组是否包含指定元素的方法
2015/07/15 Python
HTML5 视频播放(video),JavaScript控制视频的实例代码
2018/10/08 HTML / CSS
iframe与window.onload如何使用详解
2020/05/07 HTML / CSS
Does C# support multiple inheritance? (C#支持多重继承吗)
2012/01/04 面试题
入党积极分子学习优秀共产党员先进事迹思想汇报
2014/09/13 职场文书
机关领导干部作风整顿整改措施
2014/09/19 职场文书
党性分析材料格式
2014/12/19 职场文书
贫困证明书范文
2015/06/16 职场文书
2016年党支部公开承诺书
2016/03/25 职场文书
OpenCV-Python直方图均衡化实现图像去雾
2021/06/07 Python