Потерянное состояние SimpleSamlPHP Heroku

У меня есть simpleSaml, интегрированный с codeignighter, и все работает с 1 dyno, но как только я увеличиваю dyno до 1 или более, я начинаю терять информацию о состоянии. Я думаю, что файлы cookie не обновляются должным образом, но я не уверен. Я пытался использовать memcached безрезультатно. Кто-нибудь знает, почему это начало происходить с более чем одним дино?


person user2434674    schedule 24.03.2015    source источник


Ответы (1)


Simple Saml использует сеанс php для хранения состояния. Обычно, когда возникает эта ошибка, сессия была случайно очищена или не может быть найдена.

Я не знаю, что такое dyno (думаю, это простое развертывание для сервера приложений), но когда вы переходите к двум, клиент перенаправляется на второй dyno (у которого нет сеанса для пользователя).

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

person friendly_programmer    schedule 30.03.2015
comment
Так что я бы согласился с этим подходом, но я удалил хранилище PHP и переключился на прямое хранилище SQL. Я чувствую, что это должно было решить проблему, независимо от того, идет ли перенаправление на второй dyno (второе развернутое приложение). - person user2434674; 30.03.2015
comment
Итак, вы изменили php session.save_handler на что-то, что использует общий SQL-сервер? - person friendly_programmer; 30.03.2015
comment
Или я предполагаю, что вы используете опцию SimpleSaml config.php для использования memcache. Вы можете попробовать собственный задокументированный метод Heroku для обработки сеансов php. Не требуется конфигурация simplesaml. - person friendly_programmer; 30.03.2015