Manuel PHP
Précédent |  | Suivant

# register_shutdown_function

(PHP 3 >= 3.0.4, PHP 4, PHP 5)

register_shutdown_function -- Enregistre une fonction pour exécution à l'extinction

## Description

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

register_shutdown_function() enregistre la fonction func pour exécution à l'extinction du script.

Plusieurs appels à register_shutdown_function() sont possibles dans le même script, et les fonctions seront appelées dans le même ordre que celui dans lequel elles sont enregistrées. Si vous appelez exit() durant l'une des fonctions d'extinction, le processus sera définitivement arrété, sans que les autres fonctions soient appelées.

En PHP 4.0.6 et précédent sous Apache, les fonctions d'extinction sont appelées après la fin de la requête (notamment les buffers ont été vidés), ce qui fait qu'il est impossible d'afficher du texte depuis cette fonction, avec echo() ou print(), ou encore de lire le contenu des buffers avec ob_get_contents(). Depuis PHP 4.1, les fonctions d'extinction sont appelées comme une partie de la requête, donc, il est possible d'envoyer l'affichage depuis ces dernières. Il n'y a actuellement aucune façon de traiter les données avec les fonctions d'affichage du buffer dans la fonction d'extinction. La fonction d'extinction est appelé après avoir fermée tous les buffers de sortie ouverts, de ce fait, par exemple, la sortie ne sera pas compressée si zlib.output_compression est activé.

Depuis PHP 4, il est possible de passer des paramètres à la fonction d'extinction en passant des paramètres additionnels à la fonction register_shutdown_function().

> Note : Typiquement, les fonctions non définies causent des erreurs fatales en PHP, mais lorsque la fonction function est appelée avec register_shutdown_function() en étant non définie, une erreur de type `E_WARNING` est générée. De plus, pour des raisons internes à PHP cette erreur va être indiquée comme Unknown at line #0.

> Note : Le dossier de travail du script peut changer dans la fonction d'extinction sous quelques serveurs web, e.g. Apache.

> Note : La fonction d'extinction est appelé durant l'arrêt du script, donc, les en-têtes sont toujours déjà envoyés.

Voir aussi auto_append_file, exit(), et la section sur la gestion des connexions.

Précédent | Sommaire | Suivant
get_defined_functions | Niveau supérieur | register_tick_function