Итак, название в основном говорит обо всем, я использую Laravel 5.4, PHP 7.1, а на моих локальных машинных сеансах работают нормально. По сути, при попытке войти или перезагрузить страницу каждый раз, когда я получаю новый токен CSRF, который разбивает все. Я использую базу данных в качестве моего драйвера сеанса, и он создает новую запись в БД каждый отдельный запрос. Это произошло на моей локальной машине, когда я впервые обновился, но чтобы исправить это, было необходимо обновить переменную envie_domain env, и я получил ее работу. Однако на моем новом сервере я пробовал каждый домен, о котором я мог думать, и он все еще не работает.
Вот что я знаю,
-
cookie сеанса не сохраняется в Chrome → Application → Cookies, это действительно отображается в моей локальной настройке.
-
CSRF-TOKEN получает новое значение для перезагрузки каждой страницы, но файл cookie XSRF-TOKEN присутствует и сохраняет свое значение при каждой перезагрузке.
-
Как локальный, так и мой новый сервер работают с той же ветвью git, и оба работают под управлением apache 2.4, Laravel 5.4 и PHP 7.1, поэтому это заставляет меня предположить, что это проблема конфигурации. На локальном и сервере работают centos 7
-
Каждый запрос создает новый сеанс в БД, это происходит для запросов get, post и ajax.
Я предполагаю, что это проблема с конфигурацией где-то, но я понятия не имею, любая помощь была бы весьма признательна. Если это помогает, поиск под моим ответом Заголовки для начальной загрузки страницы как sid, так и сеанс laravel присутствуют в команде Set-Cookie, но фактически не сохраняются в хранилище cookie локального приложения.
Изменить/Обновить Поэтому изначально я ответил на свой вопрос, сказав, что я решил исправить, но это исправление больше не работает, и я получаю эту проблему повсюду. Поэтому для обновления моей проблемы все так же, как и раньше, попытка сделать что-либо создает новый сеанс, перезагрузка и перемещение нескольких страниц добавляет десятки сеансов из-за аякс-запросов и других подобных действий.
Моя настройка теперь такова, у меня есть 3 сервера, у всех трое работает клонированное изображение, что означает, что они идентичны, однако один из них является субдоменом, development.mysite.com, а второй 2 - балансировкой нагрузки для основной сайт mysite.com. Поэтому единственное возможное объяснение, которое я могу придумать, заключается в том, что каким-то образом laravel не может понять мою настройку из-за моего субдомена. Я пробовал все возможные комбинации COOKIE_DOMAIN в .ENV файле (development.mysite.com,.mysite.com, mysite.com,.development.mysite.com и т.д.), И я добавил несколько десятков вариантов для моего хоста. помогло. Какие-нибудь идеи относительно того, что это может быть?
** Изменить/Обновить # 2 ** В дополнение к этому я обнаружил, что это может быть связано с тем, что мой домен в использовании является субдоменом, в котором основной домен также работает с laravel, поэтому мне придется выяснить, как и почему.