在所有子域中使用php cookie

时间:2016-03-15 06:22:14

标签: php wordpress session cakephp cookies

我的主应用程序使用cakephp 2.x,博客使用wordpress,现在我的主应用程序位于我的域名example.com上,我的博客位于子域名blog.example.com }。当用户在我的主站点(example.com)登录时,我也希望在我的博客站点中登录用户。

在Cakephp中我已经使用了

ini_set('session.cookie_domain', '.example.com');

myapp/app/Config/bootstrap.php

$this->Cookie->domain = '.example.com';

beforeFilter()

appController

WP我使用过

define('COOKIE_DOMAIN', 'example.com');

现在的情况是,

  1. 当我首先打开example.com并使用我的用户名/密码登录,然后在我打开blog.example.com之后,我的博客网站将我显示为登录用户(我只有登录用户的不同标题菜单)并且未登录用户)
  2. 当我首先打开blog.example.com时,然后在我打开example.com并登录example.com并刷新blog.example.com后,它将不会显示登录用户的标头(即不登录用户,意味着没有检测到主域名的会话cookie。
  3. 我确定逻辑(我不确定但是),如果wp站点首先打开然后它创建它自己的会话cookie,如果cakephp站点首先打开,那么wp站点使用会话cookie。但对于point 2

    有人可以帮我吗?

    由于

2 个答案:

答案 0 :(得分:2)

header("Set-Cookie: cookiename=cookievalue; expires=thus, 14-march-2015 23:39:49 GMT; path=/; domain=subdomain.example.net");

答案 1 :(得分:0)

你可以这样做:


    $this->Cookie->write('cookien_name','data array',true,'time');

这不是设置域名所必需的。如果您没有设置域名,则会自动将域名保存为' /'。
请检查此网址。
http://book.cakephp.org/2.0/en/core-libraries/components/cookie.html