Он должен продолжаться до тех пор, пока не будет установлен параметр php.ini ignore_user_abort
(по умолчанию отключен).Так как ignore_user_abort отключен по умолчанию, поведение PHP по умолчанию - завершить сценарий до его завершения, если он обнаружит, что пользователь ушел.Чтобы изменить это, вызовите ignore_user_abort(true);
в начале вашего сценария.
При этом в несколько недолговечных сценариях PHP может не обнаружить, что пользователь ушел, пока обработка не завершится, даже если пользователь отключился на несколько секунд.ранее.
См. ignore_user_abort () , в котором есть пример сценария, который показывает, что он будет продолжать работать после отключения пользователя.
Также обратите внимание, PHP will not detect that the user has aborted the connection until an attempt is made to send information to the client. Simply using an echo statement does not guarantee that information is sent, see
flush() .
Если вы начали сеанс, файл сеанса не может быть закрыт (разблокирован) до тех пор, пока не завершится выполнение сценария, поэтому будущие страницы будут загружены тем же пользователем, который попытается запустить сеанс, может зависнутьпока скрипт с блокировкой сессии не закончится.Чтобы избежать этого, вы можете вызвать session_write_close , когда информация о сеансе больше не нужна, если вы планируете запускать скрипт в течение продолжительного периода времени.
Эта ссылка на обработку соединения вphp также должен вас заинтересовать.