【问题标题】:Codeigniter sessions across sub domains跨子域的 Codeigniter 会话
【发布时间】:2014-05-10 00:22:40
【问题描述】:

我有多个子域,我正在尝试跨子域使用会话。

http://example.com
http://subdomain.example.com

我还在config.php中设置了cookie域

$config['cookie_domain'] = ".example.com";

会话用户数据和闪存数据在其他域中使用时为空。我对两个 CI 实例也使用相同的会话表

【问题讨论】:

标签: php codeigniter session


【解决方案1】:

来自以下解决方案:Sharing sessions

cookie_domain 和 cookie 前缀都必须设置

$config['cookie_domain'] = ".example.com";
$config['cookie_prefix'] = "example_";

【讨论】:

  • 我看不出你是如何从另一篇文章中收集到的。此外,另一篇文章使用现已弃用的 CodeIgniter 设置。关于为什么这可以解决问题的任何解释?
  • @S.Imp 我第二次看到您的评论,抱怨不推荐使用的设置和缺少解释。为什么不添加正确设置和更多解释的答案?仅供参考,许多东西仍然使用旧的 CI,这些设置仍在使用。
【解决方案2】:

一楼是对的,但不清楚原因

原因:来自:https://ellislab.com/forums/viewthread/131851/#651233

CI 的会话与任何其他会话机制一样,使用 cookie 来识别会话。它是应该跨域可用的cookie。

对于域,您需要指定“.domain.com”,而不是“*.domain.com”。

【讨论】:

    【解决方案3】:

    只需要$config['cookie_domain'] 部分,$config['cookie_prefix'] 只是为了让事情变得干净,或者您有一些子域使用相同的域但不想共享。

    【讨论】:

      猜你喜欢
      • 2014-09-25
      • 1970-01-01
      • 2017-11-22
      • 2012-08-04
      • 2011-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多