【问题标题】:How do share Session Data between two frameworks?如何在两个框架之间共享会话数据?
【发布时间】:2014-07-31 14:23:05
【问题描述】:

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

在我的 Laravel 应用程序中,我有一条从 Cake 应用程序登录用户的路线。 这个 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) { }

有人可以帮帮我吗?

【问题讨论】:

  • 为什么不能访问 Laravel 中的 $_SESSION 数据?当您执行dd($_SESSION) 时会发生什么?
  • 当我只是做dd($_SESSION); 它返回未定义。当我做session_start(); dd($_SESSION); 它返回一个空白数组

标签: php session cakephp laravel-4


【解决方案1】:

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

我所做的只是在开始之前为会话命名。 就我而言,它是一个 CAKEPHP 应用程序,所以:

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

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

感谢您的帮助!

【讨论】:

    【解决方案2】:

    你不会管理这个。

    Laravel 在幕后做了很多魔法,破坏了 _SESSION 和 _COOKIE 变量。

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

    访问这些会话变量的方法相当简单,但您会遇到麻烦。 View the thread on the Laravel Forums

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-15
      • 2018-11-18
      • 1970-01-01
      • 2011-06-16
      • 2010-12-01
      • 2011-09-28
      相关资源
      最近更新 更多