Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks
Bibliothèques et frameworks Forum d'entraide sur les frameworks, templates, bibliothèques de code (PDFLib, eZPdf, JpGraph, Artichow, PEAR, etc). Avant de poster : FAQ bibliothèques, toutes les FAQ PHP et cours bibliothèques
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/03/2007, 22h53   #1
Invité de passage
 
Inscription : janvier 2007
Messages : 10
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 10
Points : 3
Points : 3
Par défaut [SSH2] Problème avec ssh2_exec

Bonjour,

Je me sers de ssh2_exec pour exécuter un script sh (très simple) dont voici le contenu :

Code :
1
2
cd /le/chemin/de/mon/dossier/
tar cvfz Fichier.tar.gz dossieracompresser/
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.

Par contre en exécutant le script avec ssh2_exec, là ça ne passe pas. Voici la ligne de code PHP :

Code :
$stream = ssh2_exec($connection, 'sh /le/chemin/du/script.sh');
Je ne mets pas les lignes de connection à la machine, mais elles marchent parfaitement puisque l'archive est créée.
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 !
Roro49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2007, 19h45   #2
Invité de passage
 
Inscription : janvier 2007
Messages : 10
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 10
Points : 3
Points : 3
Résolu en ajoutant la fonction sleep + 20 secondes pour laisser le temps au script sh de faire son boulot de compression.
Roro49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2007, 03h26   #3
Invité de passage
 
Inscription : avril 2007
Messages : 12
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 12
Points : 1
Points : 1
tu peux me passer le code avec le sleep?
je sais pas où mettre sleep
hach22_2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2007, 12h24   #4
Membre actif
 
Avatar de pimpmyride
 
Inscription : décembre 2005
Messages : 303
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 303
Points : 156
Points : 156
met le sleep ici, car je pense qu'il y a des instruction apres; deplacement de fichier ou envoie par ftp

Code :
1
2
3
 
$stream = ssh2_exec($connection, 'sh /le/chemin/du/script.sh');
sleep(20);
pimpmyride est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h18.


 
 
 
 
Partenaires

Hébergement Web