在根域(www)上启动php $ _SESSION并在子域之间共享会话

时间:2012-09-23 15:55:42

标签: php session cookies subdomain wildcard-subdomain

我正在尝试设置我的PHP $ _SESSION并使其可用于所有子域。除了尝试从根域( www )检索会话时,此方法正常。

如果我在 www 时启动会话,则与任何子域共享。如果我在子域上发起会话,它将 www 共享。

我将session_set_cookie_params(index.php)和session.cookie_domain(php.ini)正确设置为.domain.com

当我在 www 上回显$ _COOKIE [“PHPSESSID”]时,我得到一个与所有子域上使用的字符串不同的字符串。 $ _COOKIE [“PHPSESSID”]的所有子域都具有相同的值。

我希望能够在 www 上发起会话,并且能够在所有子域上使用该会话。这有什么解决方案吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

尝试为会话设置名称

  

会话名称( “结构域”);

在设置会话cookie参数之前。

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