Прерванные сеансы PHP на Heroku - как заставить файловые сеансы и отключить балансировку нагрузки? - PullRequest
0 голосов
/ 22 января 2019

Я использую Heroku для размещения промежуточного сервера для одного из наших веб-сайтов, который использует Kirby CMS .Однако, когда я захожу в админ-панель для управления контентом, я постоянно выхожу из системы.После исследования я пришел к выводу, что сеансы входа в систему все время закрыты, в соответствии с этой статьей Heroku :

Всякий раз, когда приложение запускается на более чем одном сервере (или dyno, как в случае с Heroku), когда dyno получает трафик случайным образом от балансировщика нагрузки, необходимо настроить поддержку сеансов PHP, чтобы не использовать стандартные файловые сеансы.

Если сеансы хранятся в каждом dynoВ файловой системе следующий запрос от пользователя (который в этом примере, как предполагается, ранее входил в систему, так что запрос будет содержать cookie-файл сеанса) может закончиться на другом dyno, где информация о сеансе не существует.

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

Меня смущает то, что я использую один dyno, и приведенная выше цитата говорит:

Всякий раз, когда приложение запускается более одного сервера ( или dyno , как в случае с Heroku) ...

Поэтому, если я использую один dyno, у меня не должно бытьэта проблема?Или, возможно, Heroku использует балансировщики нагрузки в любом случае?


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

Как заставить Heroku использовать файловые сеансы и избегать использования балансировщика нагрузки?

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