子域名的 Cookie

出于安全原因,默认情况下,cookie 只能在设置它们的同一域中访问。例如,如果你在域 example.com 上设置了 cookie,则无法在域 www.example.com 上获取它。因此,如果你计划使用子域(即 admin.example.com,profile.example.com),则需要明确设置 domain

$cookie = new Cookie([
    'name' => 'cookie_monster',
    'value' => 'Me want cookie everywhere!',
    'expire' => time() + 86400 * 365,
    'domain' => '.example.com' // <<<=== HERE
]);
\Yii::$app->getResponse()->getCookies()->add($cookie);

现在可以从 example.com 的所有子域中读取 cookie。