views:

671

answers:

4

First of all, I have used ALL of the suggested methods in this SO article: http://stackoverflow.com/questions/644920/allow-php-sessions-to-carry-over-to-subdomains

For your convenience, here are the tips I already followed:

Here are 3 options.

Place this in your php.ini:

session.cookie_domain = ".example.com"

In your .htaccess:

php_value session.cookie_domain .example.com

As the first thing in your script:

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

I have 9 subdomains (losangeles.mysite.com, sandiego.mysite.com, etc), and I would like users to be able to stay signed in between them. As of now, however, the server is treating each subdomain as a fully contained site with separate sessions.

Is there anything else I can do? Or how can I troubleshoot this?

+3  A: 

I suspect the cookies are being set for .foo.example.com instead of .example.com. Try installing the Live HTTP Headers add-on for Firefox and checking what the cookies are getting set as.

To do this, open Live HTTP Headers and with the window open, go to the page that sets the cookie. In the window, there should be a line that looks like this.

Set-Cookie: lng=en-US; path=/; domain=.example.com;

If the cookie is set for domain=.foo.example.com; then you know what the problem is. However, if the domain is .example.com, something else is going on.

Also, if the cookies are getting set for .example.com on foo.example.com, check to see if the browser is sending cookies to bar.example.com. This should help track down where the problem is.

Buddy
okay, so i found the SET-COOKIE, and it indeed says domain=.mysite.com
johnnietheblack
ALSO, i do set cookies on the client's machine, and they seem to be passing just fine between the subdomains...could that mean something?
johnnietheblack
If cookies are being sent to the different sub domains, it sounds like this is a red herring. There is probably a problem somewhere else in the code.
Buddy
the hell...it just started working RANDOMLY. i haven't touched the code since opening this question. I wonder if the php5.ini hadn't "activated" yet or something
johnnietheblack
Changes to php.ini usually don't take effect until your HTTP server has been restarted.
Frank Farmer
Thanks, I had the same problem and this fixed it.
Pepper
A: 

Thanks for sharing this.

I also did some researched and found some solutions here http://dreamluverz.com/developers-tools/php/passing-session-between-subdomains

got a warning from Kaspersky when tried to visit this link...anyone else got notified for virus/trojans?
andreas
A: 

I LOVE YOU BUDDY - i have been trying to figure this out for forever!!!!!!. Nothing logical to post just my extreme gratitude -

James Beuthling
This belongs in comments, not answers.
Matchu
A: 

Thanks, I also had the same issue. I was constantly changing my code similar to what you did with your 3 options above. In the end, all I had to do was restart firefox...

gscoon