我想知道PHP會話存儲在服務器內存多長時間。如果用戶登錄(在服務器中設置會話變量),並且他讓瀏覽器長時間保持打開狀態,假設30天,並在第31天重新加載頁面? Ca瀏覽器訪問會話變量(瀏覽器仍然有會話cookie)?php會話在服務器中存儲多久?
回答
默認php.ini將會話過期時間設置爲30分鐘。
查閱這些設置:的session.gc_maxlifetime和session.cookie_lifetime
只要有瀏覽器存儲cookie的,它不會,如果它被關閉或打開時事。
如果你想存儲可以說,30天的會話,你可以添加:
ini_set('session.gc_maxlifetime', 30*24*60*60);
ini_set('session.cookie_lifetime', 30*24*60*60);
謝謝您的回答。我還有一個疑問,即如果瀏覽器在30分鐘後使用會話cookie發送請求以訪問會話變量會怎麼樣?我很困惑。 – user3370495 2014-09-23 16:14:41
@ user3370495會話由服務器管理。因此,一旦會話過期,服務器將不再識別cookie,即使用戶仍然擁有它。 – 2014-09-23 16:18:27
在cookie_lifetime期間(可以說30分鐘)之後,cookie將過期,瀏覽器將自動刪除它,這意味着會話數據將丟失。或者,當gc_maxlifetime到期時,垃圾收集器應該從服務器中刪除會話信息。 – 2014-09-23 16:20:13
通常你會代碼爲您的會話處理代碼部分的函數一段時間之後到期會議,所以在這種情況下,我就不會不管多久,他們離開了那裏瀏覽器中打開
我想這取決於你在php.ini http://php.net/manual/en/function.session-set-cookie-params.php
- 1. PHP會話處理多個服務器
- 2. 在服務器會話中存儲通用Google Analytics(分析)
- 3. 用於PHP的亞馬遜AWS服務器永久存儲器
- 4. 跨多個頁面存儲PHP會話
- 5. 將會話數據存儲在memcache服務器上
- 6. 會話存儲JSON的JavaScript和使用它在服務器端
- 7. 在ASP .NET服務器上存儲會話標記
- 8. 在rails服務器和php服務器之間共享會話
- 9. 在PHP會話中存儲域模型
- 10. 在PHP會話中存儲ajax結果
- 11. php在會話中存儲用戶ID?
- 12. 會話不在PHP中存儲變量?
- 13. 在PHP會話中存儲對象
- 14. 會話價值將存儲在PHP中
- 15. PHP中的永久會話
- 16. PHP中的持久會話
- 17. MySQL服務器中存儲的PHP
- 18. 在多個會話中存儲數據
- 19. php - 檢查服務器上是否存在會話文件
- 20. WCF服務Http持久連接/會話
- 21. PHP的會話存儲
- 22. PHP會話不存儲值
- 23. 檢索php服務器會話超時
- 24. 保存在Rails會話中的對象會持續多久?
- 25. 在Jersey REST服務中如何存儲會話ID
- 26. ASP.NET會話/緩存+多核處理器服務器
- 27. iPhone/iPad上的會話存儲持續多久?
- 28. SQL服務器來存儲會話狀態/超時
- 29. 雲服務器上memcached上的會話存儲
- 30. PHP服務器到服務器會話管理
已設置它是可配置的。請參閱http://stackoverflow.com/questions/8311320/how-to-change-the-session-timeout-in-php – folkol 2014-09-23 15:57:26
HTTP連接不是有狀態的。他們打開連接,獲取一些文件,然後關閉它。服務器不知道在這30天內瀏覽器發生了什麼。 – DanFromGermany 2014-09-23 15:57:35