如何:跨子域的持久PHP会话
可能重复:如何:跨子域的持久PHP会话,php,session,cookies,Php,Session,Cookies,可能重复: 重要信息 该网站由数百个子域名“example.domain.com”组成 登录我的网站的用户具有“记住我”功能 用户可以从任何子域登录(并且他们必须能够通过该会话在任何子域中导航) 问题 当前,当用户通过一个子域连接时,其他子域上无法识别其会话/cookie(无论他们是否选择cookie选项) 问题: 要在domain.com的所有子域中持久化用户会话,必须执行哪些操作?换句话说,我不希望用户必须登录每个子域 更改php.ini: session.cookie_dom
重要信息
- 该网站由数百个子域名“example.domain.com”组成
- 登录我的网站的用户具有“记住我”功能
- 用户可以从任何子域登录(并且他们必须能够通过该会话在任何子域中导航)
- 当前,当用户通过一个子域连接时,其他子域上无法识别其会话/cookie(无论他们是否选择cookie选项)
- 要在domain.com的所有子域中持久化用户会话,必须执行哪些操作?换句话说,我不希望用户必须登录每个子域
session.cookie_domain = domain.com
然后它将对所有子域有效。
但这取决于同一服务器提供的所有子域
如果是多台服务器,则必须通过共享会话文件夹。
或者,您只需添加另一个cookie进行自动登录,并且每个子域都有一个单独的会话
但是,你的自动登录cookie会让我想起安全问题。Look and@Nile我已经试过了,所有这些解决方案对我都不起作用。至于htaccess解决方案,我甚至从服务器上得到了一个505错误。对于不工作的解决方案:与Wireshark一起检查通过网络实际发送的内容。此外,检查代码中的所有会话函数和代码中的所有ini设置调用(如果它们覆盖cookie-domain)。您是否尝试在
会话设置cookie参数之前设置会话名称
?我早就有这个问题了。您还应该在启动会话之前使用这些函数。