У меня Windows Server 2008 с apache2.Сервер имеет 2 диска, и я запускаю экземпляр apache на обоих.Первый запускается как служба, второй - в командной строке.Они оба используют точную копию идентичного webroot в своей собственной папке htdocs.Также они оба используют одну и ту же установку PHP, которая находится на первом диске (Program Files (x86)).Мое приложение работает по протоколу SSL и использует PHP и MySQL.
Веб-сервер, который работает как служба, прекрасно запускает мое приложение и позволяет мне входить в систему и всегда иметь данные для сеанса.Второй сервер, однако, позволяет мне запускать сценарий входа в систему, имеет данные сеанса во время выполнения сценария, но теряет эти данные сеанса после перенаправления на другую страницу в том же веб-корне.
Проблема на втором веб-сервере аналогична этот вопрос за исключением того, что у меня есть session_start () на каждой странице.
Мой скрипт входа в систему работает так:
- Пользователь запрашивает страницу
- Если пользователь не аутентифицирован, он возвращается на страницу входа
- Если пользователь аутентифицирован, он получает $ _SESSION ["auth"] с данными своего профиля
- Затемкогда пользователь просматривает главную страницу или другие страницы, требующие авторизации, он просто проверяет, установлена ли переменная $ _SESSION ["auth"].
Какие-либо советы о том, как решить эту проблему?
РЕДАКТИРОВАТЬ: Небольшое уточнение.У меня есть идентификатор сессии на каждой странице.Этот идентификатор не меняется, когда меня перенаправляют.У меня нет данных в переменной $ _SESSION на странице, на которую я перенаправляю.