проблема междоменной сессии php - PullRequest
0 голосов
/ 08 июня 2011

Я использую wamp и настроил поддомен на localhost, используя wamp, и когда я перехожу с localhost на subdomain.localhost, сеансы с localhost не работают.

Однако я немного искал и обнаружил, что яможет потребоваться добавить

session_set_cookie_params(0, '/', '.localhost');

до

session_start();

, но, похоже, это не работает.

Может ли это быть проблемой Vhosts?

этокак я настроил httpd-vhosts.conf

NameVirtualHost *:80
<VirtualHost *:80>
    DocumentRoot c:/wamp/www/
    ServerName localhost
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin admin@test
    DocumentRoot "C:/wamp/www/sub/"
    ServerName  sub.localhost
    ServerAlias *.localhost
</VirtualHost>

Ответы [ 2 ]

2 голосов
/ 08 июня 2011

Здесь есть 3 варианта.

Поместите это в ваш php.ini:

session.cookie_domain = ".example.com"

В вашем .htaccess:

php_value session.cookie_domain .example.com

Первым делом в вашем скрипте:

ini_set('session.cookie_domain', '.example.com' );

От: Разрешить перенос php-сессий на субдомены

0 голосов
/ 08 июня 2011

Ответ Майкла Робинсона верен в том смысле, что именно так должны работать cookie-файлы - однако IME, реализация зависит от браузера.Для переносимого решения вы должны использовать подход SSO типа .

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

<?php
if ($_GET['remote_session_id']) {
  session_id($_GET['remote_session_id']);
}
session_start();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...