Сессия заканчивается, даже если приложение живое и над ним работают

У меня «странная» проблема в приложении, над которым я работаю, и до сих пор не могу найти решение этой проблемы. Приложение использует 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

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

0

Решение

Вопросы:
— ты работаешь удаленно? Если да, то есть ли у вас автоматически сохраненные изменения на сервере или вам нужно сохранить их вручную, чтобы начать работу?
— Вы рассчитали продолжительность вашей реальной сессии (от входа в систему до отключения)? Это то же самое время?
Guestimate:
Без вышесказанного, я полагаю, что ваша проблема заключается в настройках параметров истечения сеанса, и где-то на линии (между вами и сервером) может произойти событие, которое инициирует сброс сеанса. [Вы пытались работать с двумя открытыми окнами? Знаете, войдите, а затем работайте в другом окне, но оставьте открытым вход в систему …] Если это из-за коротких настроек сеанса, попробуйте следующее:
php_value session.cookie_lifetime 0
php_value session.gc_maxlifetime 60000
Это дает вам достаточно времени для сеанса или пока вы не закроете браузер / не разорвете соединение …

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]