Can';t在子域和主域之间共享PHP会话

Can';t在子域和主域之间共享PHP会话,php,session,cookies,subdomain,session-cookies,Php,Session,Cookies,Subdomain,Session Cookies,我想在子域上建立会话,然后从主域访问它。我读过很多关于同一个问题的帖子,但是没有一个答案对我有用 我有一个来自Dreamhost的VPS,我在两个域上的phprc中都坐了以下行(phprc被添加到php.ini,Dreamhost编辑php.ini的方式)session.cookie_domain=“.MAINDOMAIN.com”,其中.MAINDOMAIN.com引用我的域名。这就是这里的工作解决方案: 然后,我在login.DOMAIN.com和DOMAIN.com上创建了一个名为test

我想在子域上建立会话,然后从主域访问它。我读过很多关于同一个问题的帖子,但是没有一个答案对我有用

我有一个来自Dreamhost的VPS,我在两个域上的phprc中都坐了以下行(phprc被添加到php.ini,Dreamhost编辑php.ini的方式)session.cookie_domain=“.MAINDOMAIN.com”,其中.MAINDOMAIN.com引用我的域名。这就是这里的工作解决方案:

然后,我在login.DOMAIN.com和DOMAIN.com上创建了一个名为test.php的php文件

在login.DOMAIN.com/test.php上,我有以下代码:

session_start();
$_SESSION['test'] = "Works";
print_r($_SESSION);
导航到文件时的输出:

阵列([测试]=>工作)

访问该页面后,我进入DOMAIN.com/test.php,代码如下:

session_start();
print_r($_SESSION);
输出为:

数组()

我见过其他类似的线程:使用4个不同的选项设置php.ini行(直接在php.ini、in.htaccess、脚本中,最后是php fpm池配置),我尝试了所有线程,但最后一个使用php fpm池配置的线程除外

在会话开始之前,我还尝试在我的php文件上设置这一行:

session_set_cookie_params(0,"/",".MAINDOMAIN.com",FALSE,FALSE);
除此之外:

session_name('mysession');
但什么都不管用

我还使用HTTP Header Live for FF wich domain检查了cookie的设置,答案如下:设置cookie的字符串为:

设置Cookie:PHPSESSID=9Q%2Cfrhr747fferf4700;路径=/


没有提到什么域名?我做错了什么?有什么想法吗?

也许这更像是一项工作,但是


如果您没有传递任何私有信息,您可以使用$\u-GET将信息从子域传递到域,然后使用域上的页面(getsession.php)将$\u-GET转到$\u会话,并重定向回域的索引以从url中删除$\u-GET。

这是对Dremhost管理的VPS的限制,不允许在虚拟主机(子域)之间共享php会话。我已切换到其他提供商,一切正常

这将是登录用户的会话,因此非常隐私,不幸的是:(