我目前正在集成两个php应用程序:
蛋糕应用程序位于主应用程序的同一个域和子文件夹中。
在CakePHP应用程序中,我需要访问主要定制应用程序在$ _SESSION中设置的数据,但它似乎无法访问。我假设Cake正在使用会话数据。它存储在我可以访问它的地方吗?如果是这样的话?
我尝试过Accessing cakephp session variable from a php script?的答案,即:
session_name('CAKEPHP');
session_start();
print_r($_SESSION);
但它不包含我需要的会话变量。
答案 0 :(得分:0)
主app需要在设置变量之前指定session_name:
session_name('MAINAPP');
$_SESSION['foo'] = 'bar';
然后在CakePHP应用程序中,您可以通过以下方式访问:
session_name('MAINAPP');
$foo = $_SESSION['foo'];
session_name('CAKEAPP');
最后一行非常重要,因为它会将会话名称重置回Cake App的名称,如果没有该名称,蛋糕会话变量将无法访问。
或者,您可以将主应用程序和蛋糕应用程序设置为使用相同的会话名称,但这会引入命名冲突的可能性。