我的$_SESSION
变量中存在不一致,该变量定义为保存在memcache
中。会话值之间混淆的常见原因是什么?
我在脚本开头使用session_start()
,但有时$_SESSION
变量设置为旧版本。
答案 0 :(得分:1)
它可能是会话锁定问题。当PHP处理请求时,正常流程会阻止会话文件读取/写入(只有此进程才能读取/修改此文件)。
所以当另一个请求(比如AJAX请求)必须等到第一个请求完成并解锁会话时。
使用memcache会话锁定默认情况下可能已禁用,因此情况如下:
在这种情况下,您将遇到会话不一致,因为请求A将覆盖请求B所做的更改。