php сессия не работает на поддоменах

1

Моя сессия код работал раньше, однако теперь вдруг он не работает, а также, если я позвоню set_session.php от www.domain.com, то я называю test_session.php от domain.com, он ничего не производит. Ни одна переменная сеанса не установлена, и она производит только выход, если я называю test_session.php от www.domain.com. Когда я звоню set_session от domain.com или www.domain.com, вызывая test_session.php от других субдоменов (т.е. sub.domain.com), сессия также не отображается. Хотя я уже использовал session_set_cookie_params(0, '/', '.domain.com'). Каков правильный способ сделать это?

set_session.php

<?php
session_name('mysession');
session_set_cookie_params(0, '/', '.domain.com');
session_start();
$_SESSION['test'] = 'Session is set';
echo $_SESSION['test'];
?>

test_session.php

<?php
session_name('mysession');
session_set_cookie_params(0, '/', '.domain.com');
session_start();
echo $_SESSION['test'];
?>

Все ответы и предложения очень приветствуются и оцениваются. Заранее спасибо.

Теги:
cookies
session
session-cookies

1 ответ

0

Срок службы печенья 0 может быть слишком коротким:

session_set_cookie_params(30*60, '/', '.domain.com');

РЕДАКТИРОВАТЬ

Кроме того, я бы проверить, действительно ли в mysession установлен файл cookie с именем mysession.

Кроме того, проверьте свои журналы: одна из причин может заключаться в том, что хранилище сеансов (которое обычно основано на файлах) не доступно для записи или диск заполнен, т.е.

  • 0
    php.net/manual/en/… Из того, что я прочитал здесь, если вы установите 0, значение 0 означает «пока браузер не будет закрыт». По умолчанию 0.
  • 0
    @Charas да, верно, но у меня также было несколько «странных встреч» с обработкой сессии 5.3: /

Ещё вопросы

Сообщество Overcoder
Наверх
Меню