register_shutdown_function

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

register_shutdown_function — Реєструє функцію, яка виконується після завершення роботи скрипту

Опис

register_shutdown_function(callable $callback, mixed ...$args): void

Реєструє функцію callback, яка виконається після завершення роботи скрипта або під час виклику функції exit()

Можлива реєстрація кількох подібних функцій за допомогою **register_shutdown_function()**При цьому функції будуть виконуватися в тому порядку, в якому вони були зареєстровані. Якщо ви викликаєте exit() в одній із зареєстрованих завершальних функцій процес буде повністю зупинено і наступні завершальні функції не будуть викликані.

Завершальні функції також можуть викликати самі register_shutdown_function(), щоб додати функцію вимкнення на кінець черги.

Список параметрів

callback

Реєстрована завершальна функція.

Завершальні функції виконуються як частина запиту, тому можна надсилати дані на виведення з них та отримувати доступ до буферизації виводу.

args

Можна передавати параметри на завершальну функцію, передавши додаткові параметри.

Значення, що повертаються

Функція не повертає значення після виконання.

Приклади

Приклад #1 Приклад використання register_shutdown_function()****

Loading...

Примітки

Зауваження :

Робоча директорія скрипта може змінитися всередині завершальної функції деяких веб-серверах, наприклад, Apache.

Зауваження :

Функції, які виконуються при завершенні скрипту, не будуть виконані, якщо процес був убитий із сигналами SIGTERM або SIGKILL. Хоча ви не можете перехопити SIGKILL, але ви можете використовувати функцію pcntl_signal(), щоб задати обробник сигналу SIGTERM, який використовує функцію exit(), щоб завершити скрипт правильно.

Зауваження :

Завершальні функції виконуються окремо від часу, що відстежується max_execution_time. Це означає, що навіть якщо процес буде завершено через занадто довге виконання, завершальні функції все одно будуть викликані. Крім того, якщо max_execution_time закінчується під час роботи завершальної функції, процес не буде завершено.

Дивіться також