在子域之间共享会话PHP

时间:2018-07-16 13:23:04

标签: php session

在每个文件的开头,我都有以下PHP代码:

session_set_cookie_params(0, '/', 'localhost');
session_start();

我想在localhost(以及后来的在线体育场)的子域之间共享会话cookie。但这是行不通的。如果我将“ localhost”更改为“ .localhost”,则它也不起作用。

如何在localhost(和在线)上的子域之间共享会话?

子域:

  • account.localhost
  • helpdesk.localhost

account.localhost指向登录文件,但是我也希望用户也可以在helpdesk.localhost-subdomain上登录。

编辑:这是关于子域,而不是其他域。

编辑2:

由于JustBaron,我找到了一些解决方案,但是它们不能在localhost上运行(并且我想在上传脚本之前先在本地测试脚本)。

php.ini

session.cookie_domain = ".example.com"

.htaccess

php_value session.cookie_domain .example.com

session_start()之前

ini_set('session.cookie_domain', '.example.com');

当我将“ .example.com”更改为“ .localhost”(或“ localhost”)时,它不起作用。如果我执行print_r($ _ SESSION),则会得到空结果。

编辑3:

我正在Windows 10上使用XAMPP。我将/ etc / hosts更改为以下几行:

127.0.0.1 account.domain.local
127.0.0.1 helpdesk.domain.local

现在正在工作!

0 个答案:

没有答案