Как выполнить session_write_close () в Laravel?

Бег session_write_close() до sleep() в Laravel, кажется, не работает, так как сеанс по-прежнему заблокирован от других запросов, пока текущее соединение не будет завершено.

Я пытаюсь sleep() в Laravel, не блокируя другие запросы. Обнаружил, что session_write_close () должен решить проблему, как упомянуто здесь: Длинный опрос в Laravel (функция sleep () заставляет приложение зависать). Но это не работает. sleep() все еще блокирует другие запросы.

Приложение проекта — это приложение чата, использующее регулярный опрос и длинный опрос:
http://github.com/doncadavona/laravel-angularjs-chat

Прямо к коду:
https://github.com/doncadavona/laravel-angularjs-chat/blob/master/app/Http/Controllers/MessagesController.php

4

Решение

Laravel не использует функции обработки сессий PHP. Вы должны использовать

$request->session()->save();

вызвать метод записи обработчика. Но, поскольку Laravel также не реализует какой-либо механизм блокировки сеанса, вы вряд ли увидите какую-либо связанную с сеансом блокировку, и при этом вы не должны видеть никаких изменений в поведении ajax, потому что вы сохранили / закрыли сеанс.

1

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

Вы не можете использовать session_start() или же session_write_close() в Ларавелле.

Laravel, кажется, не работает, так как сеанс все еще заблокирован
из других запросов, пока не будет установлено текущее соединение.

Это уже природа PHP, поэтому AJAX был создан для того, чтобы у нас было несколько запросов одновременно.

0

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