2012-10-09 139 views
0

修訂設置會話過期php配置?

所以,我遇到了另一個問題,我認爲是幾乎同樣的事情。我正在使用silex,我希望會話可以保存5天。我給具有以下值:

session.cookie_lifetime: 432000 
session.gc_maxlifetime: 432000 
session.gc_probability: 100 
session.gc_divisor: 100 
從我的理解

如此以來概率和除數是相同的號碼,GC應該(使用會話PHP原始文件處理程序)發生一次頁面加載和會議文件應保持在432000(60 * 60 * 24 * 5)秒內沒有任何活動。這個問題即使具有這些價​​值,我的會議似乎在1-2小時內沒有任何活動。

我甚至嘗試seeting的gc_maxlifetime 5和似乎正常工作,因此讓我想到別的東西被觸發之前gc_maxlifetime是。

是否有我缺少任何其他值?

回答

0

服務器決定何時清理失效會話。

這發生在特定的時間,這取決於一個隨機數,你給它(在php.ini中)的機會。

查找session.gc_divisor。

所以在您的情況,與PHPSESSID您的Cookie仍然存在,並且您的瀏覽器將其作爲它應該到服務器,但是服務器無法找到對應的會話。

+0

看看我的更新描述 – ryanzec

0

你也需要改變一對夫婦更多的變數在php.ini 。查這個link

+0

看看我的更新說明 – ryanzec