Le langage PHP dispose de plusieurs outils permettant de gérer les connexions des utilisateurs sur un site web.
Il existe trois états possibles en ce qui concerne le statut des connexions.
Les deux états ABORTED et TIMEOUT peuvent survenir en même temps dans le cas ou d'une part si PHP est configuré de telle sorte à ignorer les déconnexions et d'autre part lorsque le script arrive à expiration.
L'état ABORTED en principe interrompt logiquement le script dès que l'utilisateur se déconnecte du site. Toutefois, il est possible de modifier ce comportement en activant l'option de configuration ignore_user_abort dans le fichier php.ini.
En outre, si une fonction de fermeture a été enregistrée avec l'instruction register_shutdown_function, le moteur de script se rendra compte après que le client se soit déconnecté puis lors de la prochaine exécution du script que celui ci n'est pas terminé, ce qui provoquera l'appel de la fonction de fermeture mettant fin au script. losque le script se termine normalement, cette fonction sera également appelée.
L'instruction connection_aborted permet d'exécuter une fonction spécifique à la déconnexion d'un client. Si la déconnexion est effective, la fonction connection_aborted retourne true.
Un script expire par défaut après une durée de 30 secondes. Néanmoins, ce temps peut être modifié par l'intermédiaire de l'option de configuration max_execution_time dans le fichier php.ini.
Une fonction se chargeant de terminer le script sera appelée si le délai arrive à expiration ou si le client se déconnecte.
Les fonctions connection_timeout, connection_aborted et connection_status permettent respectivement de vérifier si l'état de la connexion est ABORTED, TIMEOUT et les trois états possibles.
Sommaire