PHP après qu’Apache se ferme?

J’exécute un serveur Apache sur CentOS et je voudrais pouvoir redémarrer le serveur Web à partir d’une page protégée en utilisant ce qui suit:

PHP:

 

restart.sh:

 service httpd restart 

Ma question est de savoir si le serveur Web s’arrête et que le PHP cesse de s’exécuter. Le script sh continuera-t-il à fonctionner pour remettre le serveur Web en ligne?

Cela devrait aller puisque Apache ne s’arrête que lorsque la commande est lancée. Mais si vous voulez vraiment être en sécurité, utilisez nohup :

 shell_exec('nohup sh sh/restart.sh'); 

Si votre PHP s’exécute en tant que module apache, une fois que vous avez tué httpd, votre script sera arrêté instantanément. Vous devez donc déléguer le redémarrage à un script de ligne de commande (appelé à l’aide de exec() ou shell_exec() )

Vous pourrez peut-être append un & à la fin de la commande. Cela va bifurquer le processus et l’exécuter en arrière-plan. De cette façon, cela ne dépendra pas du fonctionnement d’Apache.

 shell_exec('sh sh/restart.sh &'); 

Si cela fonctionne, vous ne devriez pas avoir besoin d’ignorer_utilisateur_abort ().