【发布时间】:2014-07-02 11:24:57
【问题描述】:
我有一个域和子域,如下所示,
domain-name.local
sub.domain-name.local
我在domain-name.local 有一个登录系统,我需要在访问sub.domain-name.local 时使用相同的会话进行验证。
正如question 中提到的那样,我尝试在子域中跟踪内容但没有成功,
设置php.ini session.cookie_domain为.domain-name.local
结果:
firefox- 工作 ie- 从子域访问会话时未加载 chrome - 不提供任何会话细节
从php代码中设置如下
ini_set('session.cookie_domain', '.domain-name.local');
session_start();
var_dump($_SESSION);
结果:
firefox - 不提供任何会话细节, ie- 从子域访问会话时未加载, chrome - 不提供任何会话细节
该问题中建议的另一个 php 代码,
session_set_cookie_params(0, '/', '.domain-name.local');
session_start();
var_dump($_SESSION);
结果: 和第二个一样
任何帮助将不胜感激,因为我被困在这里很长时间了。
编辑:
当我检查 cookie 时,我可以看到创建了两个 PHPSESSID。我认为这就是问题所在。我需要使用与主服务器相同的PHPSESSID。
编辑 2
当我从php.ini 或.htaccess 将session.cookie_domain 设置为.domain-name.local 时,除了IE(即10/win 8)之外,一切正常。在IE 中,有时会话可以访问有时完全无法访问的网页(继续加载但几分钟没有结果)。
有没有人在同一问题上有相同的经历。
【问题讨论】:
-
请阅读
EDIT 2,我也关注这个问题,但这里的问题不同,除了IE之外它都在工作。 -
我在
EDIT 2中明确提到我正面临一些其他问题,这些问题在重复问题中没有解决。但这仍然被标记为重复,这是不可接受的。请重新考虑。