php中,用户在登录时设置session_id并储存在指定路径,其中存有token等用户信息,默认过期时间时24分钟,也就是用户在24分钟内不活动,session就回收,用户在24分钟中之后如果进行操作就会出现会话过期的提示。
以上是目前网站中的机制。
请问如何正确设置session,已达到,用户在退出登录或者关闭浏览器时候,session才会过期?也就是说,不管用户在默认的24分钟之后是否活动,session都是一直有效的。求大佬们指教
php中,用户在登录时设置session_id并储存在指定路径,其中存有token等用户信息,默认过期时间时24分钟,也就是用户在24分钟内不活动,session就回收,用户在24分钟中之后如果进行操作就会出现会话过期的提示。
以上是目前网站中的机制。
请问如何正确设置session,已达到,用户在退出登录或者关闭浏览器时候,session才会过期?也就是说,不管用户在默认的24分钟之后是否活动,session都是一直有效的。求大佬们指教
另外,我在session_start()之前设置了
$lifeTime = 60;
session_set_cookie_params($lifeTime);
以测试是否有用,但是好像是因为概率问题,发现并没失效
2 回答1.6k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
2 回答963 阅读✓ 已解决
2 回答1k 阅读
1 回答909 阅读
1 回答871 阅读
并不推荐通过调整session时间去实现该,这其实是导致安全性问题;
我推荐的做法是,在你的前端页面通过js自动定时访问后端接口实现对SESSION的保活。
兄弟,PHP的Session准确的将不是通过时间自动失效,是有个配置项:
gc来控制,应该是达到请求数量后才会去检查gc,在生产环境可以提升性能,你测试环境没有达到gc的请求数量所以就并不会去检查session是否失效。
参考:
http://php.net/manual/zh/sess...