0

質問があります。私はキャプチャを使用するPHPの2つのプロジェクトを持っており、それをセッションに書き込みます。私の質問は、キャプチャを保存する最初のアプリケーション$_SESSION['code']を起動してから、同じ変数にキャプチャを保存する2番目のアプリケーションを起動すると、最初の値が2番目に上書きされるか、PHPが2つの独立したセッションを作成するかどうかです。

4

3 に答える 3

1

通常、各アプリケーションは同じサーバー上のセッション変数をオーバーライドします。

これを回避するには、セッションに名前空間を付けるか、session_name関数を使用します。

SymfonyやZendFrameworkのようなセッション抽象化ライブラリを設定または使用することにより$_SESSION['app1']['code']、手動で名前空間を作成できます。$_SESSION['app2']['code']

各アプリケーションでの使用session_nameは次のようになります。

//Other init stuff here
define('APPLICATION_ID', "MY_UNIQUE_ID_1");
session_name(APPLICATION_ID);
session_start(); 

アプリケーションごとに、いくつかの構成ファイルで一意のIDを変更する必要があります。ここに置いて、define空気が薄いから出てこないことを示します。

于 2012-06-14T07:56:25.853 に答える
0

別の解決策は、Cookieパスを設定することです(前session_start())。

于 2012-06-14T08:05:28.777 に答える
0

私の経験では、両方のアプリケーションが同じ仮想ディレクトリにある場合、それは上書きされます。したがって、相互に上書きしたくない場合は、異なるセッション変数を使用してください。

よろしく

于 2012-06-14T08:12:22.407 に答える