2009-04-27 7 views
2

まず第一に、私はこのSO記事で推奨のすべてのメソッドを使用している:あなたの便宜のために Allow php sessions to carry over to subdomainsサブドメイン間でユーザーセッションを渡せないのはなぜですか?

を、ここで私はすでに、その後のヒントされています

ここでは3つのオプションがあります。

置き、このあなたのphp.iniの:私は持っている

ini_set('session.cookie_domain','.example.com');

:あなたのスクリプトの最初のものとして

php_value session.cookie_domain .example.com

:あなたの.htaccessで

session.cookie_domain = ".example.com"

9つのサブドメイン(losangeles.mysite.com、sandiego.mysite.comなど)それらの間にサインインしておくことができます。ただし、現在のところ、サーバーは各サブドメインを別々のセッションで完全に含まれるサイトとして扱います。

他に何かできますか?または、これをどのようにトラブルシューティングできますか?

+0

Set-Cookieヘッダーフィールドで実際にどの値が使用されているか確認しましたか? – Gumbo

+0

ええ、両方の.iniと私のスクリプトでは ".mysite.com"に設定されています。理論的には – johnnietheblack

+2

です。しかし、あなたはサーバーから得た応答のHTTPヘッダーを調べましたか? – Gumbo

答えて

4

クッキーが.example.comではなく.foo.example.comに設定されていると思われます。 Firefox用のLive HTTPヘッダーアドオンをインストールし、Cookieがどのように設定されているかを確認してください。

これを行うには、ライブHTTPヘッダーを開き、ウィンドウを開いた状態でCookieを設定するページに移動します。ウィンドウには、このような線があるはずです。

セットクッキー:lng = en-US;パス= /; domain = .example.com;

cookieがdomain = .foo.example.comに設定されている場合。あなたはその問題が何であるかを知っています。しかし、ドメインが.example.comの場合、何か他のことが起こっています。

また、foo.example.comで.example.comにCookieが設定されている場合は、ブラウザがbar.example.comにCookieを送信しているかどうかを確認してください。これは問題がどこにあるかを追跡するのに役立ちます。

+0

大丈夫なので、SET-COOKIEを見つけました。実際にはdomain = .mysite.comと書かれています – johnnietheblack

+0

また、クライアントのマシンでCookieを設定していますが、サブドメイン間でうまく通っているようです...何か? – johnnietheblack

+0

クッキーが異なるサブドメインに送信されている場合、これは赤ちゃんのように聞こえます。コードのどこかに問題がある可能性があります。 – Buddy

関連する問題