當前位置:源碼庫-建站教程-網站開發-PHP教程-PHP session垃圾回收機制實例分析

PHP session垃圾回收機制實例分析

時間:2019-06-29來源/作者:webbc 編輯:源碼庫 文章熱度:

本文實例講述了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教程
熱門標簽

PHP教程Rss訂閱PHP教程搜索

顶呱刮西游记