3

同じドメインに2つのWebアプリケーション(CMSとEコマースプラットフォーム)があり、それらの間でセッションデータを共有したいと思います。両方が同じセッションを使用するように簡単に設定できますが、$_SESSION変数で変数名が衝突する可能性が非常に高くなります。名前付きセッションを使用できると思いましたが、それを機能させることもできませんでした。

session_name("WEB_APP_ONE");
session_start();
$webAppOneData = $_SESSION;
session_write_close();

//var_dump($_SESSION) = all of the session data for web app one is still contained in $_SESSION even though I closed the session with session_write_close()

session_name("WEB_APP_TWO");
session_start();
$_SESSION['WEB_APP_ONE'] = $webAppOneData;

//var_dump($_SESSION) = all of the session data for web app one is still here

これが可能かどうかはわかりませんが、可能かどうか知りたいです。

注:私が得ている実際のユースケースは、CMSの訪問者のカートにある製品の数を示すことができることです。カートデータはeコマースプラットフォームのセッションに保存されますが、CMSのヘッダーから表示する必要があります。CMSとショッピングカートをシームレスに統合したいと考えています。

4

1 に答える 1

0

ネストされた配列を使用して、セッションの名前間隔を空けることをお勧めします。

$_SESSION['app1']['app1var'] = 'value';
$_SESSION['app2']['app2var'] = 'value';

代わりに、データベースからセッション情報を保存および取得することを検討することもできます。セッションは、アクセスするデータベース行を示すユーザー認証情報を保存するためだけに使用します。

于 2012-04-23T21:47:59.390 に答える