同じドメイン名で 2 つの別々のサイトを実行している場合、それらは実際にデフォルトでセッション データを共有しますが、これは変更できます。セッション Cookie の名前はディレクティブとして設定さphp.ini
れsession.name
ますが (デフォルトではPHPSESSID
)、それを で上書きできますsession_name()
。
代わりに、1 つのサイトでセッション Cookie を呼び出す必要がありますSessionSiteA
(セッション名は英数字で、少なくとも 1 つの文字が含まれている必要があります)。
したがって、オプションは次のとおりです(a)php.ini
サイトごとに異なるファイルを用意します。(b) の値を上書きします.htaccess
(これは一部の設定では許可されていますが、すべてのphp.ini
設定では許可されていません。現時点では、それを行う方法がわかりませsession.name
ん: できない可能性があります)。または (c)session_name()
セッションを設定または読み取る前に、いずれかのサイトで関数を呼び出します。は計算コストsession_name()
が高くなる可能性があるため、注意して使用してください (おそらく、いずれかのサイトのみで使用し、ビジーなサイトにはデフォルトを使用させます)。PHPSESSID
注:別のオプションとして、各サイトのセッションを別の場所に保存し、サイトごとにini_set('session.save_path', ...)
異なる方法で使用することもできます。上記のように、これは、セッションが設定または使用される前に、中央で行う必要があります。