亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當session過期以后這些文件會被回收嗎?是通過什么機制回收的呢?

當session過期以后這些文件會被回收嗎?是通過什么機制回收的呢?

PHP
jeck貓 2023-04-15 18:14:56
我們都知道php有自己的一個默認session機制,就是你不設置任何session.handler的時候,它會用在臨時目錄下面存儲文件名類似sess_5pjm50b8d40p4175iousv4hqd3的一堆session文件,但是session是有過期時間的,而這些文件顯然不能無限增多,那么當session過期以后這些文件會被回收嗎?是通過什么機制回收的呢?顯然php本身干不了這個事情,因為它的生命周期在腳本執行完就結束了,沒有長駐內存的程序來回收這些文件,難道就放任不管嗎?
查看完整描述

2 回答

?
陪伴而非守候

TA貢獻1757條經驗 獲得超8個贊

session.gcprobability = 1
session.gc
divisor = 100
session.gc_maxlifetime = 1440

這三個配置組合構建服務端session的垃圾回收機制

session.gc_probability與session.gc_divisor構成執行session清理的概率,理論上的解釋為服務端定期有一定的概率調用gc函數來對session進行清理,清理的概率為:
gc_probability/gc_divisor 比如:1/100 表示每一個新會話初始化時,有1%的概率會啟動垃圾回收程序,清理的標準為session.gc_maxlifetime定義的時間。


查看完整回答
反對 回復 2023-04-18
?
ibeautiful

TA貢獻1993條經驗 獲得超6個贊

在php.ini中可以看到以下配置行

; Define the probability that the 'garbage collection' process is started; on every session initialization.; The probability is calculated by using gc_probability/gc_divisor,; e.g. 1/100 means there is a 1% chance that the GC process starts; on each request.session.gc_probability = 1session.gc_divisor     = 100; After this number of seconds, stored data will be seen as 'garbage' and; cleaned up by the garbage collection process.session.gc_maxlifetime = 1440
從注釋可以看出是session垃圾回收的配置。 session.gc_probability/session.gc_divisor 表述有1%的概率回收大于session.gc_maxlifetime時間的過期文件。


查看完整回答
反對 回復 2023-04-18
  • 2 回答
  • 0 關注
  • 132 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號