Потерянные сеансы после того, как провайдер перенес мой сайт на новый сервер - PullRequest
1 голос
/ 14 апреля 2009

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

Во-первых, мой сайт использует сеансы для входа в систему, это было нарушено с тех пор, как они переместили сайт.

Мой провайдер настроил тестовую страницу . Когда я нажимаю на эту страницу в IE 6 (где он устанавливает несколько сессионных переменных), а затем нажимаю кнопку «перенаправление заголовка», сеансы, кажется, работают нормально. Если я попробую это в Firefox / Opera, я получу новый идентификатор сессии на перенаправленной странице. Мои сеансы отчетов ISP также работают для IE, хотя я предполагаю, что они используют IE7 или, возможно, даже 8.

На моем сайте все работало нормально до того, как мой провайдер переместил его, и хотя они очень помогли мне ответить, они не знают, почему он сломался. Пара других моих сайтов с ними были взломаны вместе с переездом, но они были решены с помощью серверных настроек ... У кого-нибудь есть идеи, что происходит?

Ответы [ 2 ]

3 голосов
/ 14 апреля 2009

Вы перенаправляете с «launchcomplex.com» на «www.launchcomplex.com»

Если вы установите session.cookie_domain, оно должно работать - см. session_set_cookie_params()

Домен cookie, например, «www.php.net». Чтобы файлы cookie были видны во всех поддоменах, домен должен иметь префикс, например, «.php.net».

1 голос
/ 14 апреля 2009

Когда они перемещали серверы, они переходили в кластерную конфигурацию? То есть, когда я захожу на вашу веб-страницу, я всегда запрашиваю контент с одного и того же физического сервера или это может быть любой из кластеров серверов?

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

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

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