Доступ к сеансу между доменом / поддоменом.Локальная установка xampp - PullRequest
1 голос
/ 11 января 2012

Заранее спасибо.

У меня локальная установка Xampp. Мои сайты настроены следующим образом. У меня есть мой основной домен, т.е. каталог 'domain' installatiopn: C:\xampp\htdocs\domain В рамках этого у меня есть настройка поддомена, т.е. каталог установки subdomain.domain: C:\xampp\htdocs\domain\subdomain

Цель этого состоит в том, чтобы иметь единый вход на сайте основного домена и иметь возможность доступа к тем же данным сеанса, когда пользователь получает доступ к сайту субдомена (и, таким образом, не нужно повторно аутентифицировать пользователя после того, как он вошел в систему). на сайт портала домена).

Я создаю сеанс в моем домене index.php следующим образом:

session_set_cookie_params(0, '/', '.3pccap'); 
session_name('mysessionname');
session_start();

Субдомен index.php

session_name('mysessionname');
session_start(); 

Я добавил var_dump ($_SESSION); на каждой странице index.php, чтобы подтвердить, какие данные сеанса доступны. После того, как я войду в свой основной домен, сессия будет заполнена данными пользователей. Затем я перехожу к своему сайту субдоменов, который также запускает var_dump переменной сеанса. Переменная отображается как пустой массив.

Я попытался установить домен cookie сеанса в моем файле php.ini, без изменений в поведении.

Любая помощь наиболее ценится.

Ответы [ 2 ]

2 голосов
/ 11 января 2012

Вам необходимо сделать файл cookie сеанса видимым для вашего субдомена (таким образом, вызывая session_set_cookie на и , ваш домен и ваш поддомен):

session_set_cookie_params (0, '/', '.domain.com');
session_name('mysessionname');
session_start();

РЕДАКТИРОВАТЬ (из комментариев, которые решили проблему)

Имя хоста домена должно состоять из двух частей (даже для локальной разработки), например, domain.local вместо домена

0 голосов
/ 11 января 2012

Когда установлены COOKIES, есть параметр, который позволяет вам указать PATH и DOMAIN, если вы установите DOMAIN на «domain.com» и PATH на «/», это сделает COOKIE доступным во всех поддоменах некоторые старые браузеры требуют, чтобы DOMAIN использовал начальную точку (.) ".domain.com" ...

Извлечение параметров на этой странице , session_set_cookie_params также имеет аргументы DOMAIN и PATH

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...