Voici un exemple essayant de comprendre la fonction exec()

<?php
    error_reporting(E_ALL);
    ini_set('display_errors', 1);
    echo exec("id;ls");
?>

Lorsque j'exécute ce code, le résultat de ls uniquement

Exécute-t-il uniquement la dernière commande ou exécute-t-il les deux et fait écho à la dernière commande?

0
Vendetta 24 nov. 2017 à 17:03

3 réponses

Meilleure réponse

exec renvoie la dernière ligne du résultat de la commande. Vous devez utiliser l'argument output . Si l'argument de sortie est présent, alors le tableau spécifié sera rempli avec chaque ligne de sortie de la commande.

exec("id;ls", $output);
var_dump($output);
1
Iurii Drozdov 24 nov. 2017 à 14:09

vous devez écrire un script shell pour Linux (exécutable avec un fichier .sh)

0
Gowthaman D 24 nov. 2017 à 14:06

Vous pouvez utiliser shell_exec () à cette fin.

D'autre part, exec () ne renvoie que la dernière ligne de la sortie ( par défaut), mais vous pouvez fournir une référence pour le tableau de sortie comme deuxième argument.

Consultez la documentation pour plus d'informations.

2
hradecek 24 nov. 2017 à 14:08
47474927