如何从CakePHP组件中访问非Cake会话数据

如何从CakePHP组件中访问非Cake会话数据,php,session,cakephp,integration,Php,Session,Cakephp,Integration,我目前正在集成两个php应用程序: 一个大型定制PHP web应用程序,多年来一直在构建,并不是用CakePHP编写的 一个小的CakePHP仪表板应用程序(jSlate) 蛋糕应用程序位于主应用程序的同一域和子文件夹中 在CakePHP应用程序中,我需要访问由主定制应用程序在$\会话中设置的数据,但它似乎不可访问。我假设Cake正在处理会话数据。它是否存储在我可以访问的地方?如果是,如何存储 我试着从以下方面回答: 但它不包含我需要的会话变量。主应用程序需要在设置其变量之前指定会话名称: se

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

  • 一个大型定制PHP web应用程序,多年来一直在构建,并不是用CakePHP编写的
  • 一个小的CakePHP仪表板应用程序(jSlate)
  • 蛋糕应用程序位于主应用程序的同一域和子文件夹中

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

    我试着从以下方面回答:


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

    主应用程序需要在设置其变量之前指定会话名称:

    session_name('MAINAPP');
    $_SESSION['foo'] = 'bar';
    
    然后在CakePHP应用程序中,您可以通过以下方式访问:

    session_name('MAINAPP');
    $foo = $_SESSION['foo'];
    session_name('CAKEAPP');
    
    最后一行很重要,因为它将会话名称重置回Cake应用程序的名称,否则Cake会话变量将无法访问

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

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