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