问题如下:
1.用户在他们的会话到期之前被注销。在某些情况下,他们在登录后的一两分钟内就被注销了。 2.我们的Web服务器日志或Memcached日志中没有出现任何错误。 3.他们的会话ID在被注销后仍然保持不变。
今天,我们的一个用户偶然发现了一个复现该行为的方法。在一个允许他们设置自定义日期范围的页面上,他们反复按“前一天”按钮,每次点击都会发送一个POST请求。例如,如果您点击该按钮20次,它将发送20个POST请求,其中19个将在最后一个成功完成之前被取消。一旦最终请求完成,似乎所有的会话变量都丢失了。
我的php.ini(CGI)设置:
session.save_handler = memcache
session.save_path = "tcp://OURSERVERIP:11211?persistent=1&weight=1&timeout=1&retry_interval=15"
注意:POST请求在同一域上加载一个iframe。
更新:似乎还存在用户登录为其他用户的问题。会话ID冲突?
session_name('myproject')
。 - Santa's helper