在所有子域中使用 php cookie


Use php cookie in all sub domain

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

在蛋糕中,我使用了

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)。

确定逻辑,例如(我不确定,但是),如果WP站点首先打开,则它会创建自己的会话cookie,如果Cakephp站点首先打开,则WP站点使用会话cookie。 但是对于point 2来说呢.

谁能帮我?

谢谢

你可以

这样做:

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

设置域名不是必需的。如果未设置域名,则会自动将域名另存为"/"。
请同时检查此网址。
http://book.cakephp.org/2.0/en/core-libraries/components/cookie.html

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