【问题标题】:Unable to destroy session in main domain from subdomain无法从子域销毁主域中的会话
【发布时间】:2025-12-02 21:50:01
【问题描述】:

我的域名domain.com,子域名是user.domain.com

如果我从domain.com 登录,那么它工作正常。我在user.domain.com 中获取所有会话数据。当我从user.domain.com 注销时,我的主域domain.com 仍然登录。如果我刷新了主域。再次在我的user.domain.com 中设置会话。

我想在我的user.domain.com 子域单击注销时销毁所有父域和子域的会话。

昨天,我在这里发了论坛:

http://www.yiiframework.com/forum/index.php/topic/76155-logout-issue-in-subdomain

注意:我想在核心 php 而不是 Yii 框架中知道这一点。如果有人也知道 Yii,你可以在这里发布答案。

【问题讨论】:

  • 只有domain.com 可以删除subdomain.domain.com 会话,除非你做一些漂亮的重定向。
  • 你读了吗,yiiframework.com/forum/index.php/topic/… 同样的问题。
  • @LawrenceCherone 是的,我做到了。登录工作正常也注销父母对孩子很好。将子域注销到父域时出现问题。
  • @LawrenceCherone 我用这个代码'components' => array( 'session' => array( 'class' => 'CDbHttpSession', 'cookieParams' => array('domain' => '.my-project.loc'), ), ),

标签: php session yii subdomain logout


【解决方案1】:

您只需要从两个域中销毁会话。 domain.comuser.domain.com 是两个不同的实体。

如果这不起作用,请在销毁会话之前尝试unsetting 密钥。

例如:unset($_SESSION['id'])id 将从$_SESSION 中删除。

【讨论】: