(PHP 4, PHP 5, PHP 7, PHP 8)
ignore_user_abort — Устанавливает, должно ли отключение клиента прерывать выполнение скрипта
Функция устанавливает, должно ли отключение клиента приводить к прерыванию скрипта.
Скрипт завершит работу при следующей попытке что-либо записать, когда PHP-скрипт запустили как скрипт командной строки и TTY-терминал скрипта отключился без прерывания работы скрипта, если только для параметра enable
не установили значение true
.
enable
Функция устанавливает ini-настройку ignore_user_abort значением параметра enable
, если параметр задан и не равен null
. Функция вернёт предыдущее значение директивы без изменения, если параметр не задали.
Функция возвращает предыдущее значение директивы в виде целого числа.
Версия | Описание |
---|---|
8.0.0 | Параметр 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().