从子域到TLD共享PHP会话
有会话数据保存在从子域到TLD共享PHP会话,php,session,Php,Session,有会话数据保存在sub.domain.com上,我想在domain.com中使用这些数据 我确认它们都有相同的会话保存路径(通过在两者中回显ini\u get('session.save\u path')) 我试着把ini_集('session.cookie_domain','.sub.domain')在domain.com上,但这不起作用。(我还删除了前面的) 我还尝试添加session\u set\u cookie\u参数(0,“/”,“.domain.com”)在每个会话的前面启动(),但
sub.domain.com
上,我想在domain.com
中使用这些数据
我确认它们都有相同的会话保存路径(通过在两者中回显ini\u get('session.save\u path')
)
我试着把ini_集('session.cookie_domain','.sub.domain')代码>在domain.com上,但这不起作用。(我还删除了前面的
)
我还尝试添加session\u set\u cookie\u参数(0,“/”,“.domain.com”)
在每个会话的前面启动()
,但这也不起作用
我希望能够使用domain.com
中sub.domain.com
中设置的$\u会话
数据
我该怎么做才能让它工作
谢谢
更新:我想出了(至少一种方法)如何做到这一点,但不确定为什么我的答案有效。我想我现在的问题是,为什么重命名会话名称可以解决这个问题?使用相同的会话cookie域(?)对我来说更有意义。
似乎设置此域会创建一个新会话$\u会话['domain']
(其中'domain'在会话名称('domain')
函数中是可互换的。)将以下内容添加到每个文件中修复了此问题:
session_name("domain");
session_set_cookie_params(0, '/', '.domain.com');
session_start();
有人知道为什么重新命名会话可以解决这个问题吗?正是这第一行让这一切都起了作用