Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何:跨子域的持久PHP会话_Php_Session_Cookies - Fatal编程技术网

如何:跨子域的持久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的所有子域中持久化用户会话,必须执行哪些操作?换句话说,我不希望用户必须登录每个子域
更改php.ini:

session.cookie_domain = domain.com
然后它将对所有子域有效。 但这取决于同一服务器提供的所有子域

如果是多台服务器,则必须通过共享会话文件夹。 或者,您只需添加另一个cookie进行自动登录,并且每个子域都有一个单独的会话


但是,你的自动登录cookie会让我想起安全问题。

Look and@Nile我已经试过了,所有这些解决方案对我都不起作用。至于htaccess解决方案,我甚至从服务器上得到了一个505错误。对于不工作的解决方案:与Wireshark一起检查通过网络实际发送的内容。此外,检查代码中的所有会话函数和代码中的所有ini设置调用(如果它们覆盖cookie-domain)。您是否尝试在
会话设置cookie参数之前设置
会话名称
?我早就有这个问题了。您还应该在启动会话之前使用这些函数。