Сессия по субдоменам все еще не работает

Несколько часов назад я создал поток здесь относительно сеанса, который больше не существует при переходе на www. Это должно было зафиксировать это:

session_set_cookie_params(0, '/', '.'.$_SERVER['HTTP_HOST']); 

Согласно нескольким примерам на php.net и других сайтах, это должно быть правильно. При переходе на сайт без использования www. а затем переключитесь на www., сеанс все еще работает (я все еще записываю его), но по какой-то очень странной причине невозможно создать сеанс (чтобы войти в систему) на веб-сайте при использовании www. Теперь.

Поэтому я могу войти, когда не использую www., Я могу переключиться на www. поэтому сеанс все еще существует, но я не могу войти в систему при использовании www.

Может ли кто-нибудь объяснить это поведение и как я могу это исправить? Кроме того, использует этот сервер variabele safe?

Спасибо!

Если вы запрашиваете какой-либо ресурс с сайта http://www.example.com , cookie будет установлен с .www.example.com , поэтому он будет действителен только для http://www.example.com и всех его поддоменов, но не example.com .

Просто удалите ведущий www. перед добавлением . , например:

 $domain = '.' . preg_replace('/^www\./', '', strtolower($_SERVER['HTTP_HOST'])); 

Вероятно, что $_SERVER['HTTP_HOST'] – это www.example.com , а не example.com . Если вы хотите протестировать его, вы всегда можете сделать hardcode, заменив $_SERVER … фактическим '.example.com' .