php и передача сессий на поддомены

Здравствуйте уважаемые читатели !

Сегодня речь пойдет о передаче сессий php между под доменами например есть домен example.org нужно что бы сессия была доступна на srv1.example.org и srv2.example.org и srv3.example.org

для этого мы будем использовать COOKIE что бы передать PHPSESSID в них на поддомены

в настройках php нам нужно сделать такое :

session.use_cookies = 1

session.name = PHPSESSID

а в самих скриптах откуда произойдет авторизация :

ini_set( ‘session.cookie_domain’, ‘.example.org’ );
session_set_cookie_params (0, ‘/’, ‘.example.org’);

и так же желательно для верности добавить :

setcookie(‘PHPSESSID’, session_id(), 0, ‘/’, ‘.example.org’);

Этого достаточно что бы скажем с поддомена srv1.example.org передать сессию на другие

а в них должно быть такое :

ini_set( ‘session.cookie_domain’, ‘.example.org’ );
session_set_cookie_params (0, ‘/’, ‘.example.org’);

в итоге получаем данные из сессий на под доменах

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

Если есть такая конфигурация то лучше всего сессии поместить в бд mysql или скажем redis тогда данные будут доступны везде в не зависимости от удаленности хоста.

На этом все с вами был Taras Kramarets aka ~NiX~.

До новых встреч в эфире 😉