Funciones de Manejo de Funciones
PHP Manual

register_shutdown_function

(PHP 4, PHP 5)

register_shutdown_functionRegistrar una función para que sea ejecutada al cierre

Descripción

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

Registra una función nominada por function para ser ejecutada cuando el procesamiento del script esté completo o cuando 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

function

La función de cierre a registrar.

Las funciones de cierre son llamadas como parte de la petición por lo que es posible enviar la salida desde ellas. Actualmente no hay forma de procesar la información con funciones de buffer de salida en la función de cierre.

Las funciones de cierre son llamadas después de cerrar todos los bufferes de salida, así, por ejemplo, su salida no será comprimida si zlib.output_compression está habilitado.

parameter

Es posible pasar parámetros a la función de cierre pasando parámetros adicionales.

...

Valores devueltos

No se devuelve ningún valor.

Historial de cambios

Versión Descripción
4.1.0 Las funciones de cierre ahora son llamadas como parte de la petición. En versiones anterior bajo Apache, las funciones de cierre registradas eran llamadas después de que la petición hubiera sido completada (incluyendi en envío de cualquier buffer de salida), por lo que no era posible enviar una salida al navegador usando echo() o print(), o recuperar el contenido de ningún buffer de salida usando ob_get_contents(). Las cabeceras también eran enviadas siempre.

Ejemplos

Example #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

Note:

Normalmente las funciones no definidas causan errores fatales en PHP, pero cuando la función llamada dada por function con register_shutdown_function() no está definida, en su lugar se genera un error de nivel E_WARNING. También, por razones internas de PHP, este error se referirá como Desconcocido en la línea #0.

Note:

El directorio de trabajo del script se puede cambiar dentro de la función de cierre bajo algunos servidores web, p.ej. Apache.

Ver también


Funciones de Manejo de Funciones
PHP Manual