需求说明
在使用PC端过程中发现登录超时时间太短了,大概二三十分钟没操作就得重新扫码登录,而且过期后没有提示,只有当再次发送内容的时候才会提示登录超时,辛辛苦苦码的字一下子就刷新消失了还得重头再来,用户体验有点差,本来觉得挺简单的改下php.ini的session过期时间就行了,结果后面还是失效了。我是6月2号晚上和6月3号凌晨改的,没想到第二天作者更新了,调整了登录保持时间,不过我测试了还是会失效。
环境介绍
环境使用的宝塔面板,有多个PHP的环境,小狐狸这里用的7.4,其他站点用的7.3
修改办法
尝试失败过程就不说了,最后主要是做了两个地方的改动。
修改PHP7.4的ini文件
改长session超时时间
; After this number of seconds, stored data will be seen as 'garbage' and
; cleaned up by the garbage collection process.
; http://php.net/session.gc-maxlifetime
session.gc_maxlifetime = 86400*365
参数session.gc_maxlifetime,它代表在用户最后一次访问之后,Session数据将保留多长时间(以秒为单位)。
这里我改成了86400 默认是1440 单位为秒
86400 = 60(秒数) * 60(分钟数) *24(小时数)
修改完成后重启PHP或者重载配置。
站点开启Session隔离
单独修改php.ini之后session过一会还是失效,怀疑是多个不同版本的php对公共区域存储的session进行了删除导致的,隔离后就不会被其他环境给影响到了。
© 版权声明
转载请注明出处,并标明原文链接。
本网站尊重知识产权,如有侵权,请及时联系我们删除。
本站所有原创内容仅用于学习和交流目的,未经作者和本站授权不得进行商业使用或盈利行为。
本网站尊重知识产权,如有侵权,请及时联系我们删除。
本站所有原创内容仅用于学习和交流目的,未经作者和本站授权不得进行商业使用或盈利行为。
THE END
暂无评论内容