【发布时间】:2013-09-30 09:11:48
【问题描述】:
我正在尝试在具有许多子域的主机上使用 Laravel。只有一个子域会运行 Laravel 的应用程序,但我想通过 PHP 本地会话分享一些东西(比如当前用户)。
我编辑了 Laravel 的会话配置以使用子域,更改域值:
'cookie' => 'mydomain_session',
'domain' => '.mydomain.com',
在另一个未运行 Laravel 的子域中,我正在尝试以这种方式访问会话:
session_name("mydomain_session");
session_set_cookie_params(0,'/','.mydomain.com',false,true);
session_start();
但它不起作用,如果我尝试回显 $_SESSION 变量为空。
最奇怪的是,如果我尝试回显 session_id(),它在两个子域中都是一样的。
此外,如果我在第三个子域中设置相同的脚本,它会毫无问题地与另一个非 laravel 子域共享会话。
那么我做错了什么?我遗漏了什么,或者 Laravel 没有以普通方式管理原生 PHP 会话?
感谢任何帮助!
【问题讨论】:
-
Laravel 的
session::get()是否在主域和子域之间共享? -
不,我正在尝试使用原版 $_SESSION 数组。
-
我不认为你可以跨域传递会话。虽然尚未验证
-
可以在子域之间,正如我所说的,会话在 laravel 未运行的两个子域之间共享,并且还使用 laravel 与两个子域一起工作,似乎 laravel 的会话与原版 PHP 的。
标签: php session laravel subdomain