Il est possible d'exécuter une commande externe par trois PHP fonctions de
system();
exec();
Shell_exec();
mais quelles sont leurs différences? Malgré leurs applications spécifiques, dans la plupart des cas, les peuvent être également utilisés. Je suis curieux de savoir lequel est préféré quand ils peuvent être également utilisés. Par exemple, pour décompresser un fichier ou compresser un dossier (avec la commande tar), lequel est préféré (probablement du point de vue des performances)?
MISE À JOUR: Dans une autre question, j'ai trouvé un très utile lien décrivant différents aspects de ces fonctions. Je partage le lien ici, car d'autres peuvent utiliser pour mieux comprendre les problèmes de sécurité et d'autres aspects.
exec - Exécute un programme externe
système - Exécute un programme externe et affiche la sortie
Shell_exec - Exécute la commande via Shell et retourne la sortie complète sous forme de chaîne
donc si vous n'avez pas besoin de la sortie, j'irais avec exec.
Plus de détails: