array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'es', ), 'this' => array ( 0 => 'function.register-shutdown-function.php', 1 => 'register_shutdown_function', ), 'up' => array ( 0 => 'ref.funchand.php', 1 => 'Funciones de Manejo de Funciones', ), 'prev' => array ( 0 => 'function.get-defined-functions.php', 1 => 'get_defined_functions', ), 'next' => array ( 0 => 'function.register-tick-function.php', 1 => 'register_tick_function', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'es', 'path' => 'reference/funchand/functions/register-shutdown-function.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
register_shutdown_function — Registrar una función para que sea ejecutada al cierre
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.
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.
...
No devuelve ningún valor.
Se generará un error de nivel E_WARNING
si no es posible llamar a
la llamada de retorno.
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');
?>
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.