如何:跨子域的持久PHP会话

时间:2012-12-29 04:13:45

标签: php session cookies

  

可能重复:
  PHP: Cookie domain / subdomain control
  Allow php sessions to carry over to subdomains

重要信息

  • 该网站由数百个子域名“example.domain.com”
  • 组成
  • 登录我网站的用户拥有“记住我”功能
  • 用户可以从任何子域登录(他们必须能够使用该会话浏览任何子域)

问题

  • 目前,当用户通过一个子域连接时,其会话/ cookie(无论他们是否选择了cookie选项)在其他子域中无法识别。

问题

  • 必须要做什么才能使用户会话在domain.com的所有子域中保持持久性?换句话说,我不希望用户必须登录每个子域。

1 个答案:

答案 0 :(得分:1)

更改php.ini:

session.cookie_domain = domain.com

然后它对所有子域都有效。 但这取决于所有子domais都是由同一台服务器提供的。

如果是多个服务器,则必须按NFS共享会话文件夹。 或者您只为自动登录添加另一个cookie,并为每个子域分别建立一个会话。

http://en.php.net/manual/en/function.setcookie.php#domain

但是您的自动登录Cookie会记住这一点。