Lors de l'exécution de commandes bash à partir d'un script PHP, on peut rencontrer des problèmes si le répertoire de travail du script diffère de l'emplacement de la commande. Pour résoudre ce problème, il est crucial de modifier le répertoire de travail actuel vers l'emplacement souhaité avant d'exécuter la commande shell.
Pour illustrer ce concept, considérons le code PHP suivant :
<code class="php">$old_path = getcwd(); chdir('/my/path/'); $output = shell_exec('./script.sh var1 var2'); chdir($old_path);</code>
Dans ce Par exemple, getcwd() stocke le répertoire de travail actuel dans la variable $old_path. Par la suite, chdir() remplace le répertoire de travail par le chemin spécifié dans /my/path/. Désormais, lors de l'exécution de ./script.sh var1 var2, la commande shell sera exécutée dans ce nouveau répertoire. Après l'exécution de la commande, chdir() revient au répertoire de travail d'origine, tel que stocké dans $old_path.
En adoptant cette approche, vous pouvez vous assurer que la commande shell est exécutée dans le contexte correct, quel que soit le contexte actuel. répertoire de travail de votre script PHP. Cette stratégie est particulièrement utile lorsque vous travaillez avec des scripts qui s'appuient sur des fichiers ou des répertoires spécifiques par rapport à leur emplacement.
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!