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