Exécuter des commandes shell par un script PHP
I. Présentation
Avec la fonction PHP "shell_exec", il est possible d'exécuter des commandes sur un serveur linux à travers un script PHP. Cela donne par exemple la possibilité de gérer son serveur par une interface web.
II. Utilisation
A. Exemple d'utilisation
vim PhpScript.php <?php shell_exec ('mkdir dossier02'); ?>
B.Exécution du script en mode console
Pour exécuter notre script et voir si il fonctionne, on doit l'exécuter avec la commande "php <nom du fichier>" :
php PhpScript.php
Il est aussi intéressant sur une page web de récupérer et d'afficher le résultat d'une commande exécutée par le script PHP :
<?php $Commande = shell_exec ('ls -al'); echo "$Commande"; ?>
Une p’tite astuce pour lancer des applis qui nécessitent les privilegent root via cette commande ? Bonne nuit
Je pense que c’est super dangereux de donner la possibilité à une page web d’exécuter des programmes en root ! Cependant je pense que tu peux te renseigner sur le setuid qui, il me semble, permet de permettre ce genre de configuration.
Si tu souhaites que les applis s’exécutent en www-data alors qu’elles doivent normalement être en root tu peux également voir pour installer/utiliser sudo et le fichier sudoers sous Debian.
oui mais toutes les commandes linux ne sont pas accessibles avec cette fonction et quand on fais « cd monFichier » et qu’on lance la commande « ls » derrière, on est pas dans « monFichier » mais dans la racine en gros chaque commande est indépendante et ne tiens pas compte des précédentes du coup c’est compliqué de faire une interface graphique pour gérer son serveur avec cette fonction.