簡體   English   中英

PHP memcached會話已經過時了

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM