1

現在、2 つの php アプリケーションを統合しています。

  1. CakePHP で書かれていない、長年にわたって構築された大規模な特注の PHP Web アプリ。
  2. 小さな CakePHP ダッシュボード アプリ (jSlate)。

Cake アプリは同じドメイン上にあり、メイン アプリのサブフォルダーにあります。

CakePHP アプリでは、メインの特注アプリによって $_SESSION に設定されたデータにアクセスする必要がありますが、アクセスできないようです。私は Cake がセッションデータを使って何かをしていると思います。アクセスできる場所に保存していますか?

Accessing cakephp session variable from a php script? からの回答を試しましたか? 、つまり:

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 アプリの名前にリセットする最後の行は重要です。これがないと、cake セッション変数にアクセスできなくなります。

別の方法として、メイン アプリとケーキ アプリが同じセッション名を使用するように設定することもできますが、これにより名前の競合が発生する可能性が生じます。

于 2012-07-09T15:35:11.340 に答える