session.gc_maxlifetimephp
session.gc_probability 瀏覽器
session.gc_divisor session
session.gc_divisor 與 session.gc_probability 合起來定義了在每一個會話初始化時啓動 gc(garbage collection 垃圾回收)進程的機率。此機率用 gc_probability/gc_divisor 計算得來。例如 1/100 意味着在每一個請求中有 1% 的機率啓動 gc 進程。session.gc_divisor 默認爲 100。函數
好比:session.gc_maxlifetime=30,session.gc_divisor=1000,session.gc_probability=1,就表示每一千個用戶調用session_start()的時候,就百分百的會執行一次垃圾回收機制,將磁盤上沒用的session文件刪除。網站
注意:通常對於一些大型的門戶網站,建議將session.gc_divisor調大一點,減小開銷blog
接下來,我經過一個例子演示下,如何配置才能讓調用gc(垃圾回收)進程呢!進程
經過配置php.ini文件,修改如下幾個信息:ci
由於gc進程被調用的機率是經過gc_probability/gc_divisor 計算得來的,這裏我將session.gc_probability改爲1000,而session.gc_divisor 默認狀況下也是1000。則gc進程在每次執行session_start()函數的時候都會被調用到。it
如下我經過截圖簡單的說明下:io
我開啓三個會話,則建立三個對應的session文件,當每一個文件在30秒內都沒被調用的話,就會被當成是「垃圾文件」,等到gc進程調用的時候,「垃圾文件」就會被unlink,由於以前我已經經過修改php.ini配置文件,將gc被調用的機率改爲百分百,因此接下來,若是我從新使用任何一個瀏覽器刷新下頁面的時候,三個session文件,應該只剩下一個了