如何在两个框架之间共享会话数据


How do share Session Data between two frameworks?

我有一个Cake应用程序和一个Laravel应用程序,运行在同一个域。

在我的Laravel应用程序我有一个路由登录用户从蛋糕应用程序。这个蛋糕应用程序有我需要在$_SESSION上的所有数据。

问题是我无法访问Laravel上的$_SESSION数据。

Cake应用的Session Name是"CAKEPHP"

我的测试代码如下:
$original_session_name = session_name('CAKEPHP');
session_start();
var_dump($original_session_name);
var_dump(session_name());
dd($_SESSION);

回声:

string(9) "PHPSESSID"
string(7) "CAKEPHP"
array(0) { }
有人能帮我一下吗?

不知道发生了什么,但我找到了答案。我把它放在这里,给有同样问题的人。

我所做的只是在开始一个会话之前命名会话。在我的例子中,它是一个CAKEPHP应用程序,所以:

session_name('CAKEPHP');
session_start();
dd($_SESSION);

伟大的工作。在我的Laravel应用程序中,我可以访问Cake应用程序上的所有会话数据存储。

谢谢你的帮助!

你做不到的。

Laravel在后台做了很多神奇的事情,破坏了_SESSION和_COOKIE变量。

相反,我建议你在Cake应用程序上建立一个表单,它向存储在数据库中的Laravel应用程序发布某种类型的密钥,Laravel可以验证该密钥,允许用户Auth::login()

访问这些会话变量的方法相当简单,但是您将会有一段糟糕的时间。查看Laravel论坛