1

我目前正在集成两个 php 应用程序:

  1. 多年来构建的大型定制 PHP Web 应用程序,而不是用 CakePHP 编写的。
  2. 一个小的 CakePHP 仪表板应用程序 (jSlate)。

蛋糕应用程序位于同一域中,并且位于主应用程序的子文件夹中。

在 CakePHP 应用程序中,我需要访问由主定制应用程序在 $_SESSION 中设置的数据,但它似乎无法访问。我假设 Cake 正在处理会话数据。是否将其存储在我可以访问的地方,如果可以,如何访问?

我已经尝试过从 php 脚本访问 cakephp 会话变量的答案?,即:

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

但它不包含我需要的会话变​​量。

4

1 回答 1

0

主应用程序需要在设置其变量之前指定一个 session_name:

session_name('MAINAPP');
$_SESSION['foo'] = 'bar';

然后在 CakePHP 应用程序中,您可以通过以下方式访问它:

session_name('MAINAPP');
$foo = $_SESSION['foo'];
session_name('CAKEAPP');

最后一行很重要,因为它将会话名称重置为 Cake App 的名称,否则蛋糕会话变量将无法访问。

或者,您可以将主应用程序和蛋糕应用程序设置为使用相同的会话名称,但这会引入命名冲突的可能性。

于 2012-07-09T15:35:11.340 回答