无法与Laravel 4共享子域名会话

Ing*_*gro 7 php subdomain session laravel

我正在尝试在具有许多子域的主机上使用Laravel.只有一个子菜单会运行Laravel的应用程序,但我想通过PHP本机会话分享一些东西(比如当前用户).

我编辑了Laravel的会话配置以使用子域,更改域值:

'cookie' => 'mydomain_session',
'domain' => '.mydomain.com',
Run Code Online (Sandbox Code Playgroud)

在Laravel未运行的另一个子域中,我正在尝试以这种方式访问​​会话:

session_name("mydomain_session");
session_set_cookie_params(0,'/','.mydomain.com',false,true);
session_start();
Run Code Online (Sandbox Code Playgroud)

但它不起作用,如果我尝试回显$ _SESSION变量是空的.

最奇怪的是,如果我尝试回显session_id(),它们在两个子域中都是相同的.

此外,如果我在第三个子域中设置相同的脚本,它与其他非laravel子域共享会话没有问题.

那么我做错了什么?我错过了一些东西,或者Laravel没有以普通方式管理本机PHP会话?

任何帮助表示赞赏!

小智 0

或者 Laravel 没有以普通方式管理本机 PHP 会话?

正确的。

将其放入 paths.php 文件的顶部:

Session::put('foo', 'bar');
die(print_r($_SESSION));
Run Code Online (Sandbox Code Playgroud)

您将看到 Laravel 将会话放入多维数组中。

对我来说,“foo”会话包含在$_SESSION['_sf2_attributes']