当前位置:编程学习 > > 正文

php回收机制(PHP session垃圾回收机制实例分析)

时间:2022-03-28 12:09:20类别:编程学习

php回收机制

PHP session垃圾回收机制实例分析

本文实例讲述了PHP session垃圾回收机制。分享给大家供大家参考,具体如下:

session过期时间

在php.ini文件中有这样一个配置,这个配置表示session文件过期时间,默认的话是1440秒,也就是24分钟,这个24分钟是session的发呆时间,如果在24分钟内没有对session进行操作,那么session文件就会过期,如果在23分钟的时候操作了session,那么就会又有24分钟的过期时间,如果过期了,该session被服务器认为是垃圾。

  • ?
  • 1
  • session.gc_maxlifetime = 1440
  • 垃圾回收机制控制

    还有这样的两个配置,服务器每次session_start的时候,都有可能启动垃圾回收机制去删除垃圾文件,这个概率为session.gc_probability / session.gc_liisor

  • ?
  • 1
  • 2
  • session.gc_probability = 1
  • session.gc_liisor = 1000
  • 案例

    我们可以这样进行配置,来体会一下session垃圾回收机制。

  • ?
  • 1
  • 2
  • 3
  • session.gc_maxlifetime = 60
  • session.gc_probability = 1000
  • session.gc_liisor = 1000
  • 这样session的过期时间为60秒,还有就是每次session_start的时候都会去开启gc,然后删除垃圾。

    然后写一个脚本:gc.php

  • ?
  • 1
  • 2
  • <?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程序设计有所帮助。

    原文链接:https://blog.csdn.net/baochao95/article/details/72895961

    上一篇下一篇

    猜您喜欢

    热门推荐