2012-07-09 26 views
1

我目前正在整合兩個PHP應用程序中訪問非蛋糕會話數據:如何從CakePHP的組件

  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); 

但它不包含會話變量,我需要。

回答

0

主要的應用程序需要設置它的變量之前指定一個會話名稱:

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

的最後一行是因爲它很重要:

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

然後在CakePHP的應用程序,你可以通過訪問該將會話名稱重置爲Cake App的會話名稱,否則會話變量將無法訪問。

或者,您可以設置主應用程序和蛋糕應用程序使用相同的會話名稱,但這會引入命名衝突的可能性。