У меня возникла «странная» проблема в приложении, над которым я работаю, и пока я не могу найти для этого решения. Приложение использует Symfony2.6.x и использует несколько вызовов Ajax. Все время запросы делаются через Ajax. Итак, когда я вхожу в приложение (использую FOSUserBundle), Symfony автоматически запускает новую сессию, верно? Хорошо, с этого момента и до времени, определенного в config.yml
(см. конфигурацию ниже) для времени жизни сеанса, приложение все еще работает, но в какой-то момент меня перенаправляют на страницу входа, и сеанс закрывается, даже если я активно работаю над приложением. Мой лучший подход заключается в том, что вызовы AJAX не учитываются на протяжении всего сеанса в Symfony или в PHP, я прав?
Мой лучший подход и решение для этой проблемы, не знаю, прав ли я, и ни один из них не пробовал, я хочу выслушать мнение некоторых здесь, в SO, - это повторно сгенерировать идентификатор сеанса (вызвав migrate()
на текущем активном сеанс) каждый раз, когда выполняется вызов AJAX, чтобы сеанс оставался активным, правильный ли этот подход? Любые советы по этому поводу?
Это моя конфигурация в config.yml для раздела сеанса:
config.yml
framework:
session:
# session will expire after 10 minutes of inactivity
handler_id: ~
cookie_lifetime: 2400
gc_maxlifetime: 600 # session will expire after 10 minutes of inactivity
gc_probability: 0
gc_divisor: 100
Примечание: это post и этот другой от меня говорит о в основном то же самое, но я все еще не решаю эту проблему, и это убивает мое приложение и мою голову, пытаясь найти решение.