PHP session垃圾回收機(jī)制實例分析
本文實例講述了PHP session垃圾回收機(jī)制。分享給大家供大家參考,具體如下:
session過期時間
在php.ini文件中有這樣一個配置,這個配置表示session文件過期時間,默認(rèn)的話是1440秒,也就是24分鐘,這個24分鐘是session的發(fā)呆時間,如果在24分鐘內(nèi)沒有對session進(jìn)行操作,那么session文件就會過期,如果在23分鐘的時候操作了session,那么就會又有24分鐘的過期時間,如果過期了,該session被服務(wù)器認(rèn)為是垃圾。
session.gc_maxlifetime = 1440
垃圾回收機(jī)制控制
還有這樣的兩個配置,服務(wù)器每次session_start
的時候,都有可能啟動垃圾回收機(jī)制去刪除垃圾文件,這個概率為session.gc_probability / session.gc_divisor
。
session.gc_probability = 1 session.gc_divisor = 1000
案例
我們可以這樣進(jìn)行配置,來體會一下session垃圾回收機(jī)制。
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,然后關(guān)閉瀏覽器,這個時候會產(chǎn)生第一個session文件,如果沒有配置的話,默認(rèn)是在C:\Window\Temp目錄下,這個目錄也可以進(jìn)行配置。
2、第二次啟動瀏覽器去請求gc.php,然后關(guān)閉瀏覽器,這個時候會產(chǎn)生第二個session文件
3、第三次啟動瀏覽器去請求gc.php,不關(guān)閉瀏覽器,然后不斷的去刷新gc.php,都會去調(diào)用session_start
方法,由于我們前面進(jìn)行了相應(yīng)的配置,所以每次session_start
的時候都會去調(diào)用gc,然后gc去檢測一下是否有垃圾文件,如果有垃圾文件,就將其刪除,我們會看到前兩個文件一個一個的被刪除。
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php緩存技術(shù)總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《PHP錯誤與異常處理方法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
php數(shù)據(jù)庫操作model類(使用__call方法)
這篇文章主要介紹了php數(shù)據(jù)庫操作model類,使用__call方法實現(xiàn)了數(shù)據(jù)的查詢功能,需要的朋友可以參考下2016-11-11php找出指定范圍內(nèi)回文數(shù)且平方根也是回文數(shù)的方法
這篇文章主要介紹了php找出指定范圍內(nèi)回文數(shù)且平方根也是回文數(shù)的方法,實例分析了php判斷回文的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03總結(jié)的一些PHP開發(fā)中的tips(必看篇)
下面小編就為大家?guī)硪黄偨Y(jié)的一些PHP開發(fā)中的tips(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03解析將多維數(shù)組轉(zhuǎn)換為支持curl提交的一維數(shù)組格式
本篇文章是對將多維數(shù)組轉(zhuǎn)換為支持curl提交的一維數(shù)組格式實現(xiàn)代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-07-07php實現(xiàn)的SSO單點登錄系統(tǒng)接入功能示例分析
這篇文章主要介紹了php實現(xiàn)的SSO單點登錄系統(tǒng)接入功能,簡單分析了SSO單點登錄系統(tǒng)接入的原理與php相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2016-10-10