Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Передача сессии в поддоменах


Автор: sagow 3.11.2009, 14:09
Доброго дня.

При переходе сайта на новые сервера случилась следующая проблема.
Сессия при переходе от одного поддомена на другой, в рамках одного домена (localhome.ru) стала обнуляться. 

Приведу живой пример:

установлю запись сессий для проверки в папку /home/sitename/public_html/tmp через 
ini_set("session.save_path","/home/sitename/public_html/tmp") для просмотра самих сессий

есть поддомены:
http://magadan.localhome.ru/index.php (находятся /home/sitename/public_html/www/magadan)
и
http://amur.localhome.ru/index.php (находятся /home/sitename/public_html/www/amur)


для начала запускаю http://magadan.localhome.ru/index.php
Код

/******* http://magadan.localhome.ru/index.php **********/

ini_set("session.save_path","/home/sitename/public_html/tmp");
ini_set("session.use_trans_sid","1");
ini_set("session.cookie_domain",".localhome.ru");

session_name("sds");
session_start();
echo 'session_id: '.session_id().'<br >';
$_SESSION["use"]="Hellow";

На экран выводится индетификатор сессии (пример 77a0c31019977a531187313768ccb69e),
В сессию "use" записывается "Hellow"
В папку /home/sitename/public_html/tmp создаётся сессия 77a0c31019977a531187313768ccb69e размер 44 Bytes

далее перехожу  http://amur.localhome.ru/index.php
Код

/************* http://amur.localhome.ru/index.php ************/

ini_set("session.save_path","/home/sitename/public_html/tmp");
ini_set("session.use_trans_sid","1");
ini_set("session.cookie_domain",".localhome.ru");

session_name("sds");
session_start();
echo 'session_id: '.session_id().'<br >';
echo $_SESSION["use"];

На экран выводится индетификатор сессии тотже что и магадан 77a0c31019977a531187313768ccb69e
смотрю файл сессии в /home/sitename/public_html/tmp - он пустой
 Соответсвенно он не выводит "Hellow" ($_SESSION["use"])

На своём домене (http://magadan.localhome.ru/index2.php) всё работает корректно, сессию не обнуляет, выводит "Hellow"


В чём может быть дело ? У других хостеров, таких проблем нет, сессия не обнуляется и передаётся нормально, и самое главное какие решения проблемы могут быть ?

Могу сразу сказать установить домен по умолчанию в конфиге апача и гнать туда все поддомены не получится, переход к другому хостеру - тоже не выход.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)