【问题标题】:How to access non-Cake session data from within a CakePHP component如何从 CakePHP 组件中访问非 Cake 会话数据
【发布时间】:2012-07-09 01:08:00
【问题描述】:

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

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

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

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

我试过Accessing cakephp session variable from a php script?的答案,即:

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

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

【问题讨论】:

    标签: php session cakephp integration


    【解决方案1】:

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

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2011-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-26
      • 1970-01-01
      • 2017-10-23
      • 1970-01-01
      相关资源
      最近更新 更多