会话在php中经过一段时间后自动过期

时间:2015-06-30 08:43:41

标签: php session authentication

我正在开发一个名为http://www.dopanchat.com

的简单php网站

在这个网站中,我使用session来开发登录系统,一切正常但是经过一段时间后(例如,1小时后),会话自动到期,用户从我的网站注销。

我不知道它是服务器问题还是其他任何问题。

请帮我解决此问题,您可以在此处查看:http://www.dopanchat.com

3 个答案:

答案 0 :(得分:2)

延长会话超时是一种方法,但我不建议将其扩展太多:)

相反,您的应用程序可以检测用户活动并相应地刷新会话到期时间。

毕竟,在某些时候会话的超时并不重要,因为会话过期,用户将失去身份验证。

基本上,到期倒计时总是在用户的最后一次操作后开始,而不是从他/她登录到您的系统的那一刻开始。

答案 1 :(得分:0)

您可以通过调整php.ini文件来延长会话过期时间,如下所示

session.gc_maxlifetime=86400 //1 day
session.gc_divisor=5000
session.gc_probability=1

gc_divisor和gc_probability负责清理过期的会话文件,通过上面的配置会话将有效期为1天

答案 2 :(得分:0)

试试这个:

// Time in secondes before the session expires
ini_set('session.gc_maxlifetime', 3600);

// Time in secondes before the ID's session in the cookie expires
session_set_cookie_params(3600);

// Start session
session_start();

如果认为这会奏效。告诉我它是否有效!

(抱歉我的英文不好:D)