我的应用程序中的会话通常会过期。
session_gc_maxlifetime设置为24分钟(默认值);
因为我的应用程序是一个基本上使用AJAX的实时应用程序。每秒我的ajax函数调用一个http请求。据我所知,我的会话不应该过期,因为它总是调用ajax请求。
它有效并且很快就会过期(约2-3分钟不活动)。
任何人都可以帮助我解决这个问题。不仅我的网站而且托管在同一服务器上的其他网站也遇到了同样的问题。
感谢和问候, Trez
答案 0 :(得分:2)
当会话与其他托管站点共享位置时,session_gc_maxlifetime
基本上无用:PHP不会跟踪哪个站点拥有哪个会话文件,因此具有最短session_gc_maxlifetime的站点可能会从所有站点中删除会话数据。
我建议您为网站启用目录,并在调用session_start()
之前使用session_save_path()函数进行设置。
答案 1 :(得分:0)
您可以在非生产服务器上重现此问题吗?
你有没有清理会话目录的脚本吗?您是否查看了会话目录以查看文件的年龄?
如果您不是唯一具有超级用户权限的人,我会怀疑是其他人,请尝试与他们交谈。