ignore_user_abort

(PHP 4, PHP 5, PHP 7, PHP 8)

ignore_user_abortУстанавливает, должно ли отключение клиента прерывать выполнение скрипта

Описание

ignore_user_abort(?bool $enable = null): int

Функция устанавливает, должно ли отключение клиента приводить к прерыванию скрипта.

Скрипт завершит работу при следующей попытке что-либо записать, когда 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().

Смотрите также