Hello! On Tue, Apr 13, 2021 at 02:52:00PM +0700, Victor Sudakov wrote:
> Aleksandr Sytar wrote: > > > > > Что должно > > > произойти, когда пользователь отменил HTTP запрос, или браузер закрыл? > > > nginx закроет соответствующее соединение с php-fpm ? А PHP-код продолжит > > > работу? Или должен прерваться? > > > > > > Прошу прощения за сумбурное изложение, поправки и указания на неверное > > > понимание логики работы с благодарностью принимаются. > > > > > > > > > > > Раз - https://habr.com/ru/post/179399/ > > Двас - https://www.php.net/manual/ru/function.fastcgi-finish-request.php и > > крути себе дальше в базе что надо. > > Я наверное плохо сформулировал вопрос, но мне как раз интересно видеть > обратное поведение. Закрыли браузер - обслуживавший этот сеанс процесс > PHP завершился, что бы ни делал в этот момент. > > А в приведенных ссылках обратную задачу пытаются решить. Прямая задача, как я понимаю, нормально решается только в случае, если php-скрипт что-то возвращает клиенту, подробнее тут: https://www.php.net/manual/en/features.connection-handling.php https://www.php.net/manual/en/function.ignore-user-abort.php https://www.php.net/manual/en/function.connection-aborted.php Но я не настоящий сварщик, про php знаю мало. > Антиоффтопик. nginx-то что делает в момент закрытия соединения > клиентским браузером: закрывает ли соответствущее соединение с fastcgi > upstream-ом? В общем случае да. И именно для того, чтобы бэкенд узнал о том, что соединение закрыто клиентом и выполняемая работа больше не нужна. Если этого по каким-то не требуется, то можно использовать директиву fastcgi_ignore_client_abort: http://nginx.org/r/fastcgi_ignore_client_abort Кроме того, соединение не будет закрыто, если используется кэширование или fastcgi_store, так как в этих случаях ответ бэкенда полезен вне зависимости от того, будет ли он отправлен конкретному клиенту. -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru