[英]PHP memcached session expires out of the blue
session.save_handler = memcached
session.save_path = "127.0.0.1:11211"
session.gc_maxlifetime = 86400
其余的標准。 我希望自上次用戶訪問該頁面以來,該會話至少保持86400秒,即如果我在5分鍾后開始會話和訪問過的頁面,則該會話應該在另一個86400
秒之后到期。
但是,現在會議在大約一個小時后到期。 我附上了phpMemcachedAdmin的截圖。
還有其他可能適用的參數:
您的會話cookie可能會提前到期。 調用session_set_cookie_params(86400)將確保您的會話cookie與您的實際會話一樣長。
此外,gc_maxlifetime設置會話生存期的最大值。 不要忘記垃圾收集是由概率觸發的: http : //www.php.net/manual/en/session.configuration.php#ini.session.gc-probability :
session.gc_divisor與session.gc_probability結合,定義了每次會話初始化時gc(垃圾收集)進程啟動的概率。 通過使用gc_probability / gc_divisor計算概率,例如1/100表示GC進程在每個請求上啟動的可能性為1%。 session.gc_divisor默認為100。
您也可以嘗試檢查/更改這些設置。
; Document expires after n minutes.
; http://php.net/session.cache-expire
session.cache_expire = 1440
如果使用memcached會話處理程序,則此設置可能會受到影響。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.