the PHPSESSID variable that holds the session id is not being saved into the client cookie.
This results in a new session id being generated every time I call the session_start()
function.
This is true when i'm using FireFox, Opera and Chrome. With safari, for some reason, this variable is being successfuly saved into the cookie and everything works fine.
EDIT: Here is my session settings via phpinfo()
:
My website has a subdomain, and I want to use the same session acorss all subdomains.
2nd EDIT:
when I check var_dump($_COOKIE);
on my main domain I get the session id under the name PHPSESSID
but when I do that on the subdomain I get an empty array()
.
It looks like the cookie's domain is being set to localhost
. This will only work if you're actually running your website from localhost
. You need the session.cookie_domain
to match your domain name, optionally with a .
in front of it (as in .example.com
) to also include subdomains.
It is not used for Yoav's case, but maybe used for other people who got similar issue:
don't forget to call session_start()
It sounds like session_start() would create the PHPSESSID and save it in cookie if it's not sent from client cookie.
from php.net
When a visitor accesses your site, PHP will check automatically (if session.auto_start is set to 1) or on your request (explicitly through session_start()) whether a specific session id has been sent with the request. If this is the case, the prior saved environment is recreated.
some good examples about session_start() http://php.net/manual/en/function.session-start.php
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With