有会话数据被保存在sub.domain.com
上,我想在domain.com
中使用该数据。
我确认它们都有相同的会话保存路径(通过在两者中返回ini_get('session.save_path')
)
我试过把ini_set('session.cookie_domain', '.sub.domain');
放在domain.com上,但没有工作。(我也删除了前面的.
)。
我还尝试在每个session_start()
前面添加session_set_cookie_params(0, '/', '.domain.com');
,但这也不起作用。
我希望能够从sub.domain.com
中设置的domain.com
中使用$_SESSION
数据。
我该怎么做才能使它工作?
谢谢!
UPDATE:我想出了(至少一种方法)如何做到这一点,但不确定为什么我的答案是有效的。我想我现在的问题是,为什么重命名会话名称解决这个问题?使用相同的会话cookie域(?)对我来说更有意义。
似乎设置这个域创建了一个新的会话
$_SESSION['domain']
(其中'domain'在session_name('domain')
函数中是可互换的)
将以下内容添加到每个文件中修复此问题:
session_name("domain");
session_set_cookie_params(0, '/', '.domain.com');
session_start();
有人知道为什么重命名会话修复这个吗?这是第一行,使这一切工作