Nom de la fonction: shell_exec ()
Version applicable: PHP 4, PHP 5, PHP 7
Fonction Description: La fonction shell_exec () exécute la commande shell spécifiée et renvoie la sortie de la commande en tant que chaîne. Contrairement à la fonction EXEC (), la fonction shell_exec () renvoie le résultat complet de la sortie de commande, pas seulement la dernière ligne.
Syntaxe: shell_exec (String $ cmd): chaîne | null
paramètre:
- $ cmd: requis, commande shell à exécuter.
Valeur de retour:
- Si la commande est exécutée avec succès, la sortie du résultat de la chaîne par la commande est renvoyée.
- Si la commande ne parvient pas à s'exécuter ou si la fonction est désactivée, null est renvoyé.
Exemple 1:
$output = shell_exec('ls -l'); echo "<pre>$output</pre>";
L'exemple ci-dessus exécute la commande "ls -l" et attribue le résultat à la variable de sortie $. Ensuite, utilisez la balise <pre>
pour sortir le résultat tel quel au navigateur.
Exemple 2:
$output = shell_exec('php -v'); echo "<pre>$output</pre>";
L'exemple ci-dessus exécutera la commande "php -v", affichera les informations de la version PHP et affectera le résultat à la variable de sortie $. Ensuite, utilisez la balise <pre>
pour sortir le résultat tel quel au navigateur.
Notes:
- La fonction shell_exec () dépend de la disponibilité du système d'exploitation lors de l'exécution de commandes de shell, de sorte que différents résultats peuvent se produire sur différents systèmes d'exploitation.
- Pour des raisons de sécurité, la fonction shell_exec () doit être utilisée avec prudence et seules les commandes de confiance peuvent être exécutées.
- Lorsque vous utilisez la fonction shell_exec (), vous devez vous assurer que la fonction n'est pas désactivée dans le fichier de configuration PHP (élément de configuration Disable_Functions).
- Dans certains cas, il peut être nécessaire d'utiliser un chemin absolu pour exécuter des commandes telles que «/ usr / bin / ls».
- Si la commande nécessite une entrée utilisateur, utilisez d'autres fonctions (telles que Exec () ou pasthru ()), car la fonction shell_exec () ne prend pas en charge l'interaction avec le processus shell.