Php 如何从共享会话变量的子域中排除一个子域

Php 如何从共享会话变量的子域中排除一个子域,php,session,cookies,subdomain,cookieless,Php,Session,Cookies,Subdomain,Cookieless,我有一个无cookie的子域(静态),直到我使用此代码使我的会话变量在所有子域中可见: session_set_cookie_params(0,'/','.example.com'); 显然,这样做,我失去了“静态”子域的无cookie特性 除了静态变量之外,我怎么能在所有子域中都有一个会话变量? 谢谢您的帮助您能在php.ini文件中设置吗 cookie对其有效的域 session.cookie_domain = "domain" 或 我和你有类似的问题,我认为我的解决方案将帮助你实现无c

我有一个无cookie的子域(静态),直到我使用此代码使我的会话变量在所有子域中可见:

session_set_cookie_params(0,'/','.example.com');
显然,这样做,我失去了“静态”子域的无cookie特性

除了静态变量之外,我怎么能在所有子域中都有一个会话变量?
谢谢您的帮助

您能在php.ini文件中设置吗

cookie对其有效的域

session.cookie_domain = "domain"


我和你有类似的问题,我认为我的解决方案将帮助你实现无cookie静态域。我已经在下面描述了我的问题和后续解决方案,希望您可以使用它来解决您的问题

我想在两个子域上共享会话:

  • www.example.com
  • shop.example.com
但排除该会话,并在上使用其自己的会话

  • admin.example.com
要设置跨两个域使用的会话,如您所述,您必须设置cookie参数:

session_set_cookie_params(0,'/','.example.com');
但是,这将与admin.example.com会话的cookie冲突

解决方案是在管理站点中设置会话名称,使其与其他站点中的会话名称不同。例如:

session_name("AdminPHPSESSID");

有关更多信息,请参阅。

它有多个共享会话的域,但只有一个要排除的域。我是否应该为所有共享子域编写session.cookie\u domain=“domain”?
session_name("AdminPHPSESSID");