Я хочу создать сеанс на поддомене, а затем получить к нему доступ из моего основного домена. Я прочитал много тем об этой проблеме, но ни один из ответов не работает для меня.
У меня есть VPS от Dreamhost, и я разместил следующую строку в phprc на обоих доменах (phprc добавлен в php.ini, способ редактирования php.ini из dreamhost) session.cookie_domain = ".MAINDOMAIN.com" где .MAINDOMAIN.com ссылается на мое доменное имя. Это было рабочее решение здесь: Совместное использование переменных SESSION между несколькими поддоменами
Затем я создал php-файл, который я вызываю test.php на login.DOMAIN.com и DOMAIN.com
На логин.DOMAIN.com/test.php у меня есть следующий код:
session_start();
$_SESSION['test'] = "Works";
print_r($_SESSION);
Вывод при переходе к файлу:
Array ([test] => Works)
После посещения этой страницы я затем перехожу на DOMAIN.com/test.php, где код:
session_start();
print_r($_SESSION);
И вывод:
Array ()
Я видел другие потоки, подобные этому: Разрешить перенос сессий php на поддомены с 4-мя различными параметрами для установки строки php.ini (непосредственно в php.ini, в .htaccess, в скрипте и, наконец, конфигурация пула php-fpm), и я попробовал их все, кроме последнего с конфигурацией пула php-fpm
Я также пытался установить эту строку поверх моих php-файлов, перед session_start:
session_set_cookie_params(0,"/",".MAINDOMAIN.com",FALSE,FALSE);
И это вдобавок ко всему:
session_name('mysession');
но ничего не работает
Я также проверил с помощью HTTP Header Live для FF, в домене которого для файла cookie задан ответ: Почему я не могу передавать пользовательские сеансы между поддоменами? и строка Set-Cookie - :
Set-Cookie: PHPSESSID = 9Q% 2Cfrhr747fferf4700; путь = /
Нет упоминания о каком домене? Что я делаю неправильно? Есть идеи?