Bonjour,
Je me sers de ssh2_exec pour exécuter un script sh (très simple) dont voici le contenu :
Ce code qui est aussi court que simple ne pose aucun problème lorsque je l'exécute directement en ssh. Il compresse le répertoire, me sort une bonne archive, bref, il fait ça très bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 cd /le/chemin/de/mon/dossier/ tar cvfz Fichier.tar.gz dossieracompresser/
Par contre en exécutant le script avec ssh2_exec, là ça ne passe pas. Voici la ligne de code PHP :
Je ne mets pas les lignes de connection à la machine, mais elles marchent parfaitement puisque l'archive est créée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $stream = ssh2_exec($connection, 'sh /le/chemin/du/script.sh');
Le problème c'est qu'elle est vide et pèse 0 ko...
Pour résumer :
Lorsque j'exécute le script sh sous putty, aucun problème, je vois mes fichiers se compresser et l'archive est bonne.
Lorsque j'exécute le script sh sous PHP (avec ssh2_exec) l'archive est vide de chez vide..
J'exécute des scripts sh de temps en temps avec php, tout marche très bien (cependant c'est la première fois que je demande une compression en passant par ssh2_exec) donc je ne comprends vraiment pas cette différence...
Si quelqu'un a une soluce, merci d'avance !
Partager