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

时间:2014-07-31 14:23:06

标签: php session cakephp laravel-4

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

在我的Laravel App上,我有一条从Cake App登录用户的路线。 这个Cake App拥有我在$ _SESSION上需要的所有数据。

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

Cake应用程序的会话名称为“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) { }

有人能帮助我吗?

2 个答案:

答案 0 :(得分:2)

不知道发生了什么,但我找到了答案。 对于有同样问题的人,我会留在这里。

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

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

效果很好。在我的Laravel应用程序中,我可以访问Cake应用程序上的所有会话数据存储。

感谢您的帮助!

答案 1 :(得分:0)

你不会管理这个。

Laravel幕后打破了_SESSION和_COOKIE变量。

我建议您在Cake应用程序上构建一个表单,该表单会将一些类型的密钥发布到存储在数据库中的Laravel应用程序中,而Laravel可以验证该密钥,从而允许用户Auth::login()

有很多方法可以访问这些会话变量,但是你会遇到不好的时间。 View the thread on the Laravel Forums