Блокировка сеанса обновления Codeigniter 3 вызывает проблемыPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Блокировка сеанса обновления Codeigniter 3 вызывает проблемы

Сообщение Anonymous »

Недавно мы обновили старое приложение Codeigniter с 2.1.0 до 3.1.9, и все прошло гладко. За исключением того, что новая блокировка сеанса вызывает проблемы, и мне интересно, как это исправить.

Приложение активно использует AJAX, однако большинство вызовов AJAX не используются. не записываю в сессию и, кажется, не прерываю ее.

Вот пример проблемы: есть графический интерфейс с флажками, и когда ввод изменено (флажок установлен или снят) Был сделан вызов AJAX. На другом конце этого вызова AJAX, какие флажки были отмечены, записывались в сеанс, чтобы их можно было запомнить от посещения к посещению. Однако, если вы установили/сняли несколько флажков, вызывая несколько вызовов AJAX, вы в конечном итоге выйдете из системы. Аналогичное поведение было обнаружено в приложении, везде, где происходит запись сеанса.

Я пробовал реализовать session_write_close(), как предложено в документации Codeigniter, но что только половина работала в некоторых местах и ​​вызывала больше проблем в тех областях, где раньше проблем не было. В приложении есть несколько конечных точек, которые выполняют всю работу, и все рабочие процессы являются общими, поэтому исправление конечной точки, в которой происходит запись сеанса, с помощью session_write_close() прерывает вызовы других сценариев, когда сеанс им по-прежнему нужен.

Краткосрочное решение, которое я придумал, — это отклонить вызовы AJAX (что помогает, но не решает проблему само по себе) и отключить ввод до тех пор, пока вызов AJAX не будет завершен. закончено.

Есть ли лучшее долгосрочное решение? В конечном итоге это приложение постепенно прекращается, поэтому тратить много времени на его переписывание нецелесообразно.

Подробнее здесь: https://stackoverflow.com/questions/534 ... ing-issues
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»