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 après le traitement complet de la requête.

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.

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