ignore_user_abort
(PHP 4, PHP 5, PHP 7, PHP 8)
ignore_user_abort — Устанавливает, должно ли отключение клиента прерывать выполнение скрипта
Описание
Скрипт завершит работу при следующей попытке что-либо записать,
когда PHP-скрипт запустили как скрипт командной строки
и TTY-терминал скрипта отключился без прерывания работы скрипта,
если только для параметра enable
не установили значение true
.
Список параметров
enable
-
Функция устанавливает ini-настройку
ignore_user_abort
значением параметра enable
,
если параметр задан и не равен null
. Функция вернёт предыдущее
значение директивы без изменения, если параметр не задали.
Возвращаемые значения
Функция возвращает предыдущее значение директивы в виде целого числа.
Примеры
Пример #1 Пример использования функции ignore_user_abort()
<?php
// Игнорировать прерывания пользователя и разрешить скрипту
// выполняться постоянно
ignore_user_abort(true);
set_time_limit(0);
echo 'Тестирование обработки соединения в PHP';
// Запуск бессмысленного цикла,
// который, как мы надеемся, когда-нибудь заставит нас уйти
// со страницы или нажать кнопку «Стоп»
while (1) {
// Завершено ли соединение?
if (connection_status() != CONNECTION_NORMAL) {
break;
}
// Пауза на 10 секунд
sleep(10);
}
// Если скрипт достиг этой строки, значит, сработала
// управляющая конструкция break в цикле while
// Здесь можно записывать логи или выполнять
// другие необходимые операции независимо
// от браузера
?>
Примечания
PHP не обнаружит, что пользователь прервал соединение, пока скрипт
не сделает попытку отправить информацию клиенту. Простое выполнение
инструкции echo не гарантирует отправку информации, смотрите описание
функции flush().