PHP会话ID相同,但会话变量消失
我遇到了会话变量消失的最奇怪的问题 首先,Firefox是我唯一看到问题的浏览器<代码>IE9和PHP会话ID相同,但会话变量消失,php,session,session-variables,Php,Session,Session Variables,我遇到了会话变量消失的最奇怪的问题 首先,Firefox是我唯一看到问题的浏览器IE9和浏览器工作正常 现在是上下文:加载后,我的页面开始每分钟在我的服务器上执行Javascript XHR,以刷新状态。现在,在一段时间后(我看到10到30分钟之间的任何地方),请求进入我的php文件,会话启动(使用与前一个请求相同的会话ID(当然是同一个客户端)),但会话变量都未设置 会话超时为默认的24分钟,但每个请求都会更新一个$\u Session['time']变量以保持会话活动 因此,简而言之,会话不
浏览器
工作正常
现在是上下文:加载后,我的页面开始每分钟在我的服务器上执行Javascript XHR
,以刷新状态。现在,在一段时间后(我看到10
到30
分钟之间的任何地方),请求进入我的php
文件,会话启动(使用与前一个请求相同的会话ID(当然是同一个客户端)),但会话变量都未设置
会话超时为默认的24
分钟,但每个请求都会更新一个$\u Session['time']
变量以保持会话活动
因此,简而言之,会话不应该过期,并且正确的会话ID正在遍历,但是经过一段(相当随机的)时间后,会话变量就消失了
知道是什么原因吗?好的。所以我终于找到了那个神秘问题的原因。现在一切都清楚了 我的网络托管服务让我在我的域名上安装一个bugbase,我做到了 bugbase安装在自己的目录中,并在上访问 问题是bugbase是基于PHP的,我的实际站点也是如此 因为它们都在同一个域(mydomain.com),如果我从同一个浏览器访问它们,它们将共享同一个PHP会话。因此,从其中一个注销也会终止另一个的会话 瞧 一旦我发现了这个问题,我就可以确认在我打开网站和bug库的任何浏览器中都可以看到这个问题
我还没有尝试过,但问题的解决方案可能是在子域上安装bugbase。其他浏览器不会这样吗?他们可能在用超级饼干吗?;-)