我有一個笨的應用程序,使用了大量的會話,特別是使用數據庫會話。失去PHP會議
幾個星期前,我們有這樣的報告的問題,該應用程序保持失去了會話的用戶 - 他將試圖執行一個動作,會話將丟失,他將被迫繼續再次登錄。最後,我們想通了,這是由於他是在無線寬帶,並儘快轉念一固定電話,他的問題就完全消失。
今天,我們有其他用戶報告了同樣的問題 - 他是一個(據說快)無線寬帶連接,並且還不斷地失去了他的會話。
我已經在哪裏甚至開始不知道......
我有一個笨的應用程序,使用了大量的會話,特別是使用數據庫會話。失去PHP會議
幾個星期前,我們有這樣的報告的問題,該應用程序保持失去了會話的用戶 - 他將試圖執行一個動作,會話將丟失,他將被迫繼續再次登錄。最後,我們想通了,這是由於他是在無線寬帶,並儘快轉念一固定電話,他的問題就完全消失。
今天,我們有其他用戶報告了同樣的問題 - 他是一個(據說快)無線寬帶連接,並且還不斷地失去了他的會話。
我已經在哪裏甚至開始不知道......
我最終發現,這是由於在CI框架中的錯誤:https://github.com/EllisLab/CodeIgniter/issues/154
我有一些建議,關於既然你說哪裏開始:)
http://codeigniter.com/user_guide/libraries/sessions.html
廣泛使用會議,以及..的
注意:Cookies只能存儲4KB的數據,所以要小心不要超過 的能力。
application/config/config.php
會話配置:
$config['sess_expiration'] = 900; // Inactive for too long?
$config['sess_expire_on_close'] = FALSE; // Close his browser?
$config['sess_match_ip'] = FALSE; // IP renew accidentally or what?
希望這有助於=)
正如我所說的,使用數據庫會話,所以cookie的大小並不重要。其他配置變量也不相關。我們已經因爲發現該用戶被註銷只發生在特定的控制器/法......但爲什麼這一次不同的是沒有邏輯的理由。試圖找出現在... – JonoB
如何你確定一個會議?基於什麼參數? – Styxxy