我在這裏不知所措。我在樓上有一組特定的用戶,他們的會話似乎完全隨機過期。不僅當他們離開網站坐了一段時間,他們在瀏覽時可能會過期。對於我和我們大多數用戶來說,一切正常。這不是一個瀏覽器問題,我們有FF和所有IE版本的人都可以正常工作,FF和IE中的人不起作用。PHP會話意外到期
我的gc_maxlifetime
在43200
和垃圾收集是一個瘋狂的低1/1000
(這不應該重要)。是否有可能在服務器上運行其他程序,它正在隨機刪除一些會話?我應該檢查什麼?這仍然無法解釋爲什麼只有這個特定的羣體似乎受到影響。
我有一個從默認的不同的幾個會話設置:
session.gc_maxlifetime = 43200
session.gc_divisor = 1000
session.save_path = /var/lib/php/session
session.use_only_cookies = Off
session.bug_compat_42 = Off
前三,我並不擔心,但可以在最後兩個是造成這種現象?我實際上並沒有通過URL發送cookie,所以我沒有理由關閉use_only_cookies。我沒有保證,在我到達這裏之前製作這個應用程序的不合適的人沒有利用bug_compat_42
的東西來設置會話變量,但是我希望這個問題不會隨機。
編輯:
在進一步的調查,我發現會話沒有被摧毀了一切,但最終用戶得到一個新的會話ID。舊會話在服務器上仍然存在,但是一個新會話在瀏覽時隨機啓動。
兩種情況之一發生的事情:在服務器上的會話文件被刪除,或者會話cookie到期。我試圖隔離一個或另一個發生的情況,然後從那裏開始工作。 – 2009-05-27 16:33:55
我確定它不是被刪除的會話。我如何檢查cookie是否過期? – 2009-05-27 21:33:16