Наша проблема заключается в том, что мы используем один сервер, который слушает порт 80 и порт 8080, где порты сопоставляются с базой данных и веб-сайтом, соответственно. Причина такого разделения связана с техническими проблемами (это не вариант их объединения). Сервер базы данных может обрабатывать PHP, но не последний.Обработка сеансов между различными портами
Мы пытаемся реализовать сеансы, используя PHP-скрипты. База данных, в которой хранятся пользователи, представляет собой mySQL-базу данных, а сеансы для функций входа в систему пользователей. Мы используем функцию Ajax-функции jQuery для получения диалогового окна login-dialog, которое кодируется на сервере базы данных.
Если мы проверим диалоговое окно login-dialog на сервере базы данных, все в порядке. Каждый раз мы получаем один и тот же идентификатор сеанса. Однако, когда мы пытаемся использовать его на сайте-сервере (после загрузки его с помощью Ajax-вызова), мы получаем новый идентификатор сеанса для каждого запроса (т. Е. Каждый раз, когда мы что-то делаем)! Поэтому мы не можем использовать сеансы для отслеживания вещей, так как мы не можем поддерживать идентификатор сеанса, связанный с «активным сеансом» (это звучит не так хорошо, как я надеялся).
Мы не уверены в том, что здесь происходит, но подозреваем, что сервер базы данных видит каждый запрос как «нового пользователя». Имеет смысл?
Как мы можем решить эту проблему?
Заранее благодарю! :-)
Sidenote: Не уверен, что это необходимо, но мы уже видели много тем, спрашивающих об этом: Да, мы начали сессию! :-)
webservers только видят только то, что им отправлено. Это браузер, который решает, когда/когда cookie должен быть отправлен обратно.Каким-то образом решение вашей среды веб-сервера - это два разных домена cookie и не отправляет cookie сессии обратно. –
@MarcB Хорошо, но есть ли способ обойти это? Есть ли что-то, что я могу отправить на сервер базы данных с помощью вызова Ajax? – pecka85