register_shutdown_function

(PHP 4, PHP 5, PHP 7)

register_shutdown_functionRegistrar una función para que sea ejecutada al cierre

Descripción

register_shutdown_function ( callable $callback [, mixed $parameter [, mixed $... ]] ) : void

Registra una llamada de retorno dada por callback para ser ejecutada después de que finalice la ejecución del script o se llame a exit().

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.

Ver también