Сессия приложения Laravel истекает на AWS ELB

Для привязки динамических данных в DropDownList вы можете сделать следующее:

Создать ViewBag в контроллере, как показано ниже

ViewBag.ContribTypeOptions = yourFunctionValue();

, теперь использовать это значение, как показано ниже:

@Html.DropDownListFor(m => m.ContribType, 
    new SelectList(@ViewBag.ContribTypeOptions, "ContribId", 
                   "Value", Model.ContribTypeOptions.First().ContribId), 
    "Select, please")
0
задан Max Billionaire 16 January 2019 в 09:40
поделиться

2 ответа

Я отправляю ответ здесь именно так, любой сталкивается с той же проблемой. То, что происходит с серверами AWS, - то, что, Они отчасти повторно развертывают Ваши коды пару раз день, и это очищает все недавно созданные файлы и загруженные файлы в Вашем проекте. Вот почему необходимо использовать облачное хранилище, если Вы хотите хранить файлы, и то же самое происходит с сессиями. По умолчанию laravel сохраняет сессии в файле и каждый раз, когда AWS повторно развертывают Ваш код, он вытирает всю текущую сессию, потому что он удаляет файл сессии. Решением является хранилище сессии где угодно, но файл. Таким образом, я использовал свою базу данных для хранения сессий и кэша. Можно сделать это

Движение к config/session.php и изменение драйвера к база данных

, После того, как выполнено

, php ремесленный ремесленник session:table

php мигрирует

, Они составят таблицу сессий в базе данных для Вас, и это должно решить проблему AWS. Точно так же, как @arun-a сказано короче говоря. Вы можете контроль эти документы сессий для большего количества информации

0
ответ дан Max Billionaire 16 January 2019 в 09:40
поделиться

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

0
ответ дан Arun A 16 January 2019 в 09:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: