簡體   English   中英

php會話何時確切到期?

[英]When exactly does a php session expire?

我已經對此進行了搜索,到目前為止,我所知道的是,當關閉瀏覽器時,該會話將被破壞;如果只是保持瀏覽器處於打開狀態,則該會話將在固定的時間(如24分鍾)后自動過期。

但是,這24分鍾的計數器什么時候開始? 服務器何時執行session_start()行? 這個問題可能會有點長,但是請忍受我。 假設我有一個php頁面,其中包含以下代碼:

<?php
      session_start();
?>

如果用戶打開此頁面並將其保持打開狀態大約一個小時,那么即使該頁面仍處於打開狀態,會話是否仍會過期? 而且,如果我在網站的每個頁面的開頭添加了session_start()代碼,則每次用戶打開網站的新頁面時,計數器是否會重置為零?

基本上,我想創建一個登錄系統,以便在用戶關閉網站或單擊“退出”按鈕時將其注銷,並且只要他打開了網站,我就希望使他保持登錄狀態,而在24分鍾后他不會自動退出或任何其他固定時間。

計時從第一次創建會話開始。 24分鍾后,垃圾收集器可能會隨機擦除它,也可能不會擦除它(請參閱session.gc_ *指令)。 您想要做的是每N分鍾重新生成一次會話(session_regenerate_id()),以便只要用戶處於活動狀態就不會過期。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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