setcookie从子域到域

时间:2014-05-06 13:07:03

标签: php ajax cookies

我有:

     mydomain.com (which is the portal of the game, global setting and stuff)
game.mydomain.com (which is the the actual game)

问题在于,我想在game.mydomain.netmydomain.net(以及我将来要创建的子域)中设置全局可用的Cookie。

我一直在尝试从另一个子域设置cookie,因为我已经读过子域可以将cookie设置为父域但反之亦然(这很奇怪,我想我读错了)。无论如何,所以我已经做了另一个账号.mydomain.com(从中我正在制作ajax调用mydomain.net以便用户可以进行身份​​验证)并且我正在使用

setcookie('session', $value, time() + 2592000 (one month), '/', '.tribul.net');

然后,返回成功消息并刷新mydomain.net上的主页面,以便它可以读取新的cookie值。问题是,没有设置cookie。我也一直试图从mydomain.com(作为.tribul.net)设置cookie,所以它可以在所有子域上可用,但它只在主域上可用。怎么了?

我需要将所有子域和域连接到同一个cookie,要注意,我在一个名为process.php(位于account.domain.com)的后端文件中设置cookie作为ajax请求的结果。

3 个答案:

答案 0 :(得分:0)

试试这个setcookie('session', $value, time() + 2592000 , '', '.tribul.net');

答案 1 :(得分:0)

在php.ini中:

session.cookie_path = /

session.cookie_domain = ".mydomain.com"

设置Cookie:

setcookie('session', $value, time() + 2592000, '/', 'mydomain.com');

答案 2 :(得分:0)

我使用Klaus Hartl's jquery cookie plugin来解决问题,因为我无法从ajax后端设置全局Cookie。