Je travaille sur une application qui s'exécute localement sur une machine Fedora 10 via PHP et Apache. Cela dépend d'un processus qui s'exécute en arrière-plan.Impossible d'appeler les commandes système et les scripts shell à partir de PHP Fedora 10
Les utilisateurs supérieurs souhaitent pouvoir démarrer/arrêter/redémarrer le processus via le navigateur. J'essayais de faire fonctionner cela en demandant à PHP de passer des appels au système en utilisant exec() et shell_exec, mais cela ne semble pas fonctionner. Lorsque j'essaie de démarrer le processus en utilisant "exec ('processName')", rien ne se passe. Lorsque j'essaie d'utiliser "exec ('killall processName')", SELinux lance constamment des avertissements que le processus a été autorisé (parce que je l'ai mis en mode permissif), mais il ne tue pas réellement le processus! Mais cela semble continuer même après que la page soit complètement chargée!?!?
Je suis capable d'appeler un autre script de la même manière: "exec ('/ var/www/cgi-bin/ControlProgram START')". Donc, je ne suis pas vraiment sûr quelles sont les différences majeures entre les deux appels/commandes.
J'ai également placé l'appel de script dans le fichier /etc/rc.local pour que le script s'exécute à la connexion. Cependant, serai-je capable de tuer ce script de PHP depuis son exécution par ... le système?
Je ne suis pas un gourou quand il s'agit de permissions/SELinux, alors n'épargnez pas sur les détails sanglants! Merci d'avance!
Merci pour les réponses à ce jour. Je vais essayer vos exemples ce soir Aaron. Nolte, je ne pense pas avoir beaucoup modifié le php.ini, mais je vais vérifier. Merci. –