Я недавно обновился с Symfony 3.4 до 4.2.При обновлении сервера было несколько проблем.Сначала сеанс сохранялся в файле на сервере, но затем я изменил его на сохраненный в базе данных.У меня проблема в том, что некоторые пользователи не могут создать сеанс.В результате они не могут войти в систему, добавлять предметы в корзину и т. Д. Также влияют токены CSRF, поскольку они хранятся в сеансе.Я не могу воссоздать проблему.
Моя конфигурация сеанса выглядит следующим образом
session:
cookie_domain: "%host%"
cookie_httponly: true
#handler_id: session.handler.native_file
#save_path: "%kernel.root_dir%/../var/sessions/%kernel.environment%"
handler_id: Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler
cookie_secure: true
gc_maxlifetime: 43200 #12 hours
gc_probability: 1
gc_divisor: 50
cookie_lifetime: 0
Кажется, что если пользователь очищает кеш браузера, то все снова в порядке.Однако я не могу просить клиентов сделать это.Может быть, в их браузере есть устаревшие данные сеанса, которые не исчезнут?Если пользователь пытается войти в систему, я вижу успешную регистрацию в БД, но они говорят, что не вошли в систему.
Это влияет только на некоторых клиентов.я не смог сузить его до какого-либо конкретного браузера или платформы, но кажется, что большинство отчетов для Chrome.Если они попробуют в другом браузере, то это сработает.
Если я попробую сам, это сработает, и я смогу увидеть файл cookie PHPSESSID в моих инструментах разработки.
Одна вещь, которую я попробовал, как я думал, может бытьбыло два конфликтующих куки-файла PHPSESSID (один с предыдущим. в домене, а другой нет), который должен был добавить этот бит javascript на каждую страницу
document.cookie = "PHPSESSID =; Path = /; expires = Чт, 01Январь 00:00:01 GMT; ";
Это, я думаю, гарантирует удаление дубликата.Однако это не решило проблему.
Я немного озадачен тем, как отладить эту проблему.Может кто-нибудь предложить какой-либо совет, пожалуйста?