PHP结束会话


PHP ending sessions?

在我为这个web应用程序运行的每个PHP脚本中,我都有代码

session_set_cookie_params(86400);
session_start(); 

对我来说,这样,当用户登录并使用该网站时,应该在他们最后一次使用该网站的24小时后保持登录状态。但出于某种原因,它只能在用户首次登录后24小时保持会话。就像现在一样,如果他们在登录后24小时还在使用这个网站,它就会突然把他们注销。有没有办法刷新每次页面加载的超时时间或我不知道的东西?

由于session_set_cookie_params的工作方式,它的过期不能在每次页面访问时正确更新。您需要为此使用setcookie并传递必要的参数,例如,以下是session_set_cookie_params

文档中的代码片段
$lifetime = 86400; 
session_start();
setcookie(session_name(),session_id(),time()+$lifetime);

这应该能解决你的问题。

参考这里