Maison >développement back-end >tutoriel php >Pourquoi ne puis-je pas exécuter de scripts Bash depuis PHP ?

Pourquoi ne puis-je pas exécuter de scripts Bash depuis PHP ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-04 01:53:30680parcourir

Why Can't I Execute Bash Scripts From PHP?

Exécuter des commandes Bash à partir de PHP

Tenter d'exécuter un script bash à partir de PHP à l'aide de commandes telles que shell_exec, exec et system peut parfois échouer. Une raison possible à cela est un problème avec le répertoire de travail actuel.

Pour résoudre ce problème, vous pouvez explicitement modifier le répertoire de travail avant d'exécuter le script à l'aide de la fonction chdir. Voici un exemple :

<code class="php">$old_path = getcwd(); // Store the current working directory
chdir('/my/path/'); // Change to the correct directory
$output = shell_exec('./script.sh var1 var2'); // Execute the script
chdir($old_path); // Revert to the previous working directory</code>

En spécifiant le bon répertoire, vous vous assurez que le script bash est exécuté dans l'environnement prévu. Cela devrait résoudre le problème auquel vous étiez confronté lors de l'exécution du script à partir d'un fichier PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn