Forum und email

register_shutdown_function

(PHP 4, PHP 5)

register_shutdown_function — Registrar una función para su ejecución al finalizar

Descripción

void register_shutdown_function ( callback $funcion [, mixed $parametro [, mixed $... ]] )

Registra la función de nombre funcion para ser ejecutada cuando el procesamiento del script se haya completado.

Es posible realizar múltiples llamadas a register_shutdown_function(), y cada función será llamada en el mismo orden en el que son registradas. Si llama exit() al interior de una de las funciones de finalización registradas, el procesamiento se detendrá por completo y ninguna otra función de finalización será llamada.

En PHP 4.0.6 y versiones anteriores, bajo Apache, las funciones de finalización registradas son llamadas después de que la petición se ha completado (incluyendo el envío de todos los búferes de salida), así que es imposible enviar salida al navegador usando echo() o print(), o recuperar los contenidos de cualquiera de los búferes de salida usando ob_get_contents(). A partir de PHP 4.1, las funciones de finalización son llamadas como parte de la petición, así que es posible enviar la salida de ellas. Actualmente no hay forma de procesar los datos con las funciones de búferes de salida en la función de finalización. La función de finalización es llamada después de cerrar todos los búferes de salida abiertos, por lo tanto, por ejemplo, su salida no será comprimida si se habilita zlib.output_compression.

A partir de PHP 4, es posible pasar parámetros a la función de finalización pasando parámetros adicionales a register_shutdown_function().

Lista de parámetros

funcion

parametro

...

Valores retornados

No value is returned.

Notes

Note: Usualmente las funciones indefinidas causan errores fatales en PHP, pero cuando la funcion llamada con register_shutdown_function() es indefinida, un error de nivel E_WARNING es generado en su lugar. Asimismo, por razones internas de PHP, este error hará referencia a Unknown en la línea #0.

Note: El directorio de trabajo del script puede cambiarse al interior de la función de finalización bajo ciertos servidores web, p.ej. Apache.

Note: La función de finalización es llamada durante el cierre del script, así que las cabeceras siempre habrán sido enviadas para entonces.

Ver también