register_shutdown_function
(PHP 4, PHP 5, PHP 7, PHP 8)
register_shutdown_function — Registrar una función para que sea ejecutada al cierre
Descripción
Se pueden hacer múltiples llamadas a register_shutdown_function(),
y cada una será llamada en el mismo orden en el que fueron registradas.
Si se llama a exit() dentro de una función de cierre
registrada, el procesamiento se detendrá completamente y no se llamarán a otras
funciones de cierre registradas.
Parámetros
callback
-
La llamada de retorno de cierre a registrar.
Las llamadas de retorno de cierre se ejecutan como parte de una petición, por lo que
es posible enviar salidas desde ellas y acceder a los buffers de salida.
parameter
-
Es posible pasar parámetros a la función de cierre pasando
parámetros adicionales.
...
-
Valores devueltos
No devuelve ningún valor.
Errores/Excepciones
Se generará un error de nivel E_WARNING
si no es posible llamar a
la llamada de retorno.
Ejemplos
Ejemplo #1 Ejemplo de register_shutdown_function()
<?php
function cierre()
{
// Esta es nuestra función de cierre,
// aquí podemos hacer las últimas operaciones
// antes de que el script sea completado.
echo 'Script ejecutado con éxito', PHP_EOL;
}
register_shutdown_function('cierre');
?>
Notas
Nota:
El directorio de trabajo del script se puede cambiar dentro de la función de cierre
bajo algunos servidores web, p.ej. Apache.
Nota:
Las funciones de cierre no serán ejecutadas si el proceso es terminado por señales SIGTERM
o SIGKILL. Pese a que no es posible interceptar una señal SIGKILL, es posible utilizar pcntl_signal()
para registrar un manejador para SIGTERM que utilice exit() para
terminar limpiamente.