ignore_user_abort
(PHP 4, PHP 5, PHP 7)
ignore_user_abort — Установить, должно ли отключение клиента прерывать выполнение скрипта
Описание
$enable
= null
) : intУстанавливает, необходимо ли прерывать работу скрипта при отключении клиента.
При работе с PHP-скриптом в командной строке, когда терминал скрипта
отключается без прерывания работы скрипта, скрипт будет остановлен,
если параметр enable
не равен true
Список параметров
-
enable
-
Если параметр задан и не
null
, то эта функция устанавливает ini-настройку ignore_user_abort, заданным значением параметраenable
. Если же параметр не задан, функция вернет предыдущее значение опции без его изменения.
Возвращаемые значения
Возвращает предыдущее значение в виде целого числа.
Список изменений
Версия | Описание |
---|---|
8.0.0 |
enable теперь допускает значение null.
|
Примеры
Пример #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().
Смотрите также
- connection_aborted() - Проверить, отключен ли клиент
- connection_status() - Возвращает статус соединения в битах
- См. Управление Соединением для получения более детальной информации по управлению соединениями в PHP.