Вас может заинтересовать директива конфигурации ignore_user_abort
и / или функция ignore_user_abort
:
Устанавливает, будет ли клиент отключаться
должно привести к прерыванию работы скрипта.
Используя это, вы можете:
- генерирует часть страницы, которая должна быть отправлена в браузер
- очистить выход с помощью
flush
и / или ob_flush
- звоните
ignore_user_abort
(сейчас или раньше)
- сделать больше работы
Браузер пользователя, вероятно, по-прежнему будет отображать «ожидание» или «загрузка», но содержимое страницы будет загружено и отображено - и даже если пользователь нажимает «Стоп», ваш сценарий должен продолжить выполнение.
Для получения дополнительной информации, на странице руководства этой функции есть пример - и вы можете взглянуть на эту статью: Как использовать ignore_user_abort()
для выполнения обработки вне диапазона
Конечно, хотя это может быть использовано для некоторого легкого процесса (например, «очистка» содержимого в конце страницы при максимально быстром отображении его пользователю) , вы все равно будете ограничены на max_execution_time
и т. п.
Итак, это не решение, которое следует использовать для длинных / тяжелых вычислений.