我有两个域在同一托管一个是使用自定义PHP和另一个Laravel 5.4。我使用自定义PHP使用$_SESSION在session变量中设置了一些值。现在登录后重定向到laravel。现在我的问题是如何在laravel中获得这个Session变量。
PHP
Laravel 5.4
$_SESSION
session
laravel
Session
6yoyoihd1#
Laravel从Laravel 4.1开始就不使用原生PHP会话了。我们不再使用Symfony的(因此也不再使用PHP的)会话处理工具,而是使用更简单、更易于维护的自定义解决方案在Laravel中,你想使用Session:: facade或session() global helper来处理会话:
Session::
session()
// Saving value. session()->put('key', 'value'); // Gettinng value. session('key');
因此您无法从另一个PHP应用程序访问会话数据,但是,如果您使用相同的存储来管理两个应用程序的会话(Redis,Memcached,共享会话文件夹......),并且您在两个应用程序中使用相同的APP_KEY(在.env文件中查看)和相同的cookie标识符(在config\session.php文件中查看),则可以从另一个Laravel应用程序访问会话。
Redis
Memcached
APP_KEY
.env
config\session.php
uidvcgyl2#
可以使用session()辅助函数。或Session外观。假设您想在会话中放入一些可以使用的内容
Session::put('key', 'this is something in session');
如果您想访问相同的echo Session::get('key') //outputs this is something in session
echo Session::get('key') //outputs this is something in session
0ve6wy6x3#
您可以使用正确的名称空间\Session访问会话虚包
\Session
3条答案
按热度按时间6yoyoihd1#
Laravel从Laravel 4.1开始就不使用原生PHP会话了。
我们不再使用Symfony的(因此也不再使用PHP的)会话处理工具,而是使用更简单、更易于维护的自定义解决方案
在Laravel中,你想使用
Session::
facade或session()
global helper来处理会话:因此您无法从另一个PHP应用程序访问会话数据,
但是,如果您使用相同的存储来管理两个应用程序的会话(
Redis
,Memcached
,共享会话文件夹......),并且您在两个应用程序中使用相同的APP_KEY
(在.env
文件中查看)和相同的cookie标识符(在config\session.php
文件中查看),则可以从另一个Laravel应用程序访问会话。uidvcgyl2#
可以使用
session()
辅助函数。或Session
外观。假设您想在会话中放入一些可以使用的内容
如果您想访问相同的
echo Session::get('key') //outputs this is something in session
0ve6wy6x3#
您可以使用正确的名称空间
\Session
访问会话虚包