2014-06-17 22 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。