Maison >développement back-end >tutoriel php >Comment puis-je exécuter un script PHP de longue durée en arrière-plan après la soumission d'un formulaire ?
Considérez un formulaire qui traite les informations soumises, les insère dans une base de données et envoie des notifications à une liste d'abonnés. Cependant, en raison du nombre d'abonnés (environ 150), le processus prend un temps important (plus d'une minute). Cela entraîne un retard et des problèmes potentiels pour les utilisateurs :
Pour résoudre ce problème, la partie notification par courrier électronique du script doit être séparée dans un fichier distinct. Cependant, l'exécution de ce fichier en tâche de fond est essentielle pour éliminer le besoin d'interaction de l'utilisateur.
Pour exécuter un script PHP en tant que service en arrière-plan, un Le processus doit être invoqué en utilisant exec ou shell_exec.
L'utilisation de shell_exec permet journalisation du processus de notification. La commande suivante permettra d'obtenir la fonctionnalité souhaitée :
shell_exec("/path/to/php /path/to/send_notifications.php '".$post_id."' 'alert' >> /path/to/alert_log/paging.log &");
Le caractère & à la fin de la commande indique que le processus doit s'exécuter en arrière-plan.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!