有没有办法在Laravel中访问PHP本机会话变量?

时间:2017-09-26 20:33:47

标签: php laravel session-variables

我有一个遗留应用程序来处理auth并设置一些会话变量;我需要在Laravel应用程序中访问这些会话变量。我尝试启动会话并访问控制器中的一个变量 - 这不起作用。我得到一个Whoops错误 - 未定义索引:名称
这是我试过的:

public function __construct() 
    {
        session_start();
    }

public function index()        
    {
       //test output php (not Laravel) sessions   
       echo "TEST CONTROLLER ACCESSED!!\n\n";  
       print_r($_SESSION['name']);
    }

我也在路线中的闭包中尝试了相同的方法。都失败了。

有没有办法在Laravel中访问PHP本机会话变量?

修改
我不明白我的问题被标记为重复。引用的答案是关于我得到的错误。它没有回答我的问题。我理解错误意味着什么,我需要知道为什么会话不适用于Laravel。

请告诉我您需要的任何其他信息。
编辑2
$ _SESSION ['name']存在于遗留应用程序中,但未传递给Laravel。这两个应用程序都位于同一服务器和域中。如何追踪正在发生的事情?

1 个答案:

答案 0 :(得分:0)

我发布此信息是为了帮助其他人。

事实证明,遗留应用程序使用非标准的session.save_path (我正在使用一个非常大的代码库。所以,这个事实并不像看起来那么明显。)

解决方案是将保存路径设置为Laravel中的相同位置。    ini_set('session.save_path', '/path/to/sessions/');

这必须在session_start()

之前完成

请参阅PHP命令here的信息。