register_shutdown_function
(PHP 4, PHP 5, PHP 7)
register_shutdown_function — Регистрирует функцию, которая выполнится при завершении работы скрипта
Описание
Регистрирует функцию callback
, которая
выполнится после завершения работы скрипта или при вызове функции
exit().
Возможна регистрация нескольких подобных функций с помощью register_shutdown_function(), при этом функции будут выполняться в том порядке, в каком они были зарегистрированы. Если вы вызовете exit() в одной из зарегистрированных завершающих функций, процесс будет полностью остановлен и последующие завершающие функции не будут вызваны.
Список параметров
-
callback
-
Регистрируемая завершающая функция.
Завершающие функции выполняются как часть запроса, поэтому можно отправлять данные на вывод из них и получать доступ к буферизации вывода.
-
args
-
Можно передавать параметры в завершающую функцию, передав дополнительные параметры.
Возвращаемые значения
Эта функция не возвращает значения после выполнения.
Ошибки
Если передано название несуществующей завершающей функции, то генерируется
ошибка уровня E_WARNING
.
Примеры
Пример #1 Пример использования register_shutdown_function()
<?php
function shutdown()
{
// Это наша завершающая функция,
// здесь мы можем выполнить все последние операции
// перед тем как скрипт полностью завершится.
echo 'Скрипт успешно завершился', PHP_EOL;
}
register_shutdown_function('shutdown');
?>
Примечания
Замечание:
На некоторых веб-серверах рабочая директория скрипта может измениться внутри завершающей функции, например, Apache.
Замечание:
Функции, выполняемые при завершении скрипта, не будут выполнены, если процесс был убит с сигналами SIGTERM или SIGKILL. Хотя вы и не можете перехватить SIGKILL, но вы можете использовать функцию pcntl_signal(), чтобы задать обработчик сигнала SIGTERM, который использует функцию exit(), чтобы завершить скрипт правильно.
Смотрите также
- auto_append_file
- exit() - Вывести сообщение и прекратить выполнение текущего скрипта
- Раздел Обработка соединений