PHP会话ID相同,但会话变量消失

PHP会话ID相同,但会话变量消失,php,session,session-variables,Php,Session,Session Variables,我遇到了会话变量消失的最奇怪的问题 首先,Firefox是我唯一看到问题的浏览器IE9和浏览器工作正常 现在是上下文:加载后,我的页面开始每分钟在我的服务器上执行Javascript XHR,以刷新状态。现在,在一段时间后(我看到10到30分钟之间的任何地方),请求进入我的php文件,会话启动(使用与前一个请求相同的会话ID(当然是同一个客户端)),但会话变量都未设置 会话超时为默认的24分钟,但每个请求都会更新一个$\u Session['time']变量以保持会话活动 因此,简而言之,会话不

我遇到了会话变量消失的最奇怪的问题

首先,Firefox是我唯一看到问题的浏览器<代码>IE9和
浏览器
工作正常

现在是上下文:加载后,我的页面开始每分钟在我的服务器上执行
Javascript XHR
,以刷新状态。现在,在一段时间后(我看到
10
30
分钟之间的任何地方),请求进入我的
php
文件,会话启动(使用与前一个请求相同的会话ID(当然是同一个客户端)),但会话变量都未设置

会话超时为默认的
24
分钟,但每个请求都会更新一个
$\u Session['time']
变量以保持会话活动

因此,简而言之,会话不应该过期,并且正确的会话ID正在遍历,但是经过一段(相当随机的)时间后,会话变量就消失了


知道是什么原因吗?

好的。所以我终于找到了那个神秘问题的原因。现在一切都清楚了

我的网络托管服务让我在我的域名上安装一个bugbase,我做到了

bugbase安装在自己的目录中,并在上访问

问题是bugbase是基于PHP的,我的实际站点也是如此

因为它们都在同一个域(mydomain.com),如果我从同一个浏览器访问它们,它们将共享同一个PHP会话。因此,从其中一个注销也会终止另一个的会话

一旦我发现了这个问题,我就可以确认在我打开网站和bug库的任何浏览器中都可以看到这个问题


我还没有尝试过,但问题的解决方案可能是在子域上安装bugbase。

其他浏览器不会这样吗?他们可能在用超级饼干吗?;-)