2

保存了会话数据sub.domain.com,我想在domain.com.

我确认他们都有相同的会话保存路径(通过ini_get('session.save_path')在两者中回显)

我尝试过ini_set('session.cookie_domain', '.sub.domain');使用 domain.com,但没有奏效。(我也删除了前面的.)。

我也尝试session_set_cookie_params(0, '/', '.domain.com');在 each 前面添加session_start(),但这也不起作用。

我希望能够使用中设置的$_SESSION数据。domain.comsub.domain.com

我该怎么做才能使它起作用?

谢谢!


更新:我想出了(至少一种方法)如何做到这一点,但不知道为什么我的答案有效。我想我现在的问题是,为什么重命名会话名称可以解决这个问题?使用相同的会话 cookie 域 (?) 对我来说更有意义。
似乎设置此域会创建一个新会话$_SESSION['domain'](其中“域”在函数中是可互换的session_name('domain')。)

4

1 回答 1

2

将以下内容添加到每个文件中修复了此问题:

session_name("domain");
session_set_cookie_params(0, '/', '.domain.com');
session_start();

有谁知道为什么重命名会话可以解决这个问题?正是第一行让这一切都奏效了。

于 2013-05-19T02:51:09.880 回答