2014-06-17 25 views
0

我有一個社交網站。人們使用用戶名和密碼登錄。我在登錄時創建一個會話,但一段時間後會話時間結束,他們必須重新登錄。我使用下面的代碼來使這個時間更長,但仍然有一段時間後會話時間耗盡。我用克羅姆斯餅乾查看器檢查SESSID,看到會議仍有時間,但在瀏覽器中看不到那個時間。我希望我解釋得很好。以下是在登錄時創建會話的代碼:即使在SESSID中有時間,會話時間耗盡

$lifetime=3600*24*7; 
session_start(); 
setcookie(session_name(),session_id(),time()+$lifetime); 
+0

你不需要設置會話cookie ... PHP爲你做這個。此外,cookie的到期時間與session屆滿無關,請參閱php ini中的'session.gc_maxlifetime'。 –

+0

我把這段代碼,但時間不多了。 ini_set('session.cookie_lifetime',86400); ini_set('session.gc_maxlifetime',86400); session_start(); –

回答

0

您需要查看:session.gc_maxlifetime在您的配置中。這需要具有足夠高的價值,以保持會話的活躍。另外,如果您在會話中使用Memcache或其他緩存,則還需要設置TTL。