IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[SSH2] Pas de retour avec ssh2_shell


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de Leobaillard
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2004
    Messages
    313
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 313
    Par défaut [SSH2] Pas de retour avec ssh2_shell
    Bonsoir à toutes et à tous !

    J'essaye actuellement d'utiliser les fonctions fournies par ssh2 avec php. J'ai déjà testé ssh2_exec et je voulais essayer d'obtenir un terminal "interactif" avec ssh2_shell. Seulement, après avoir lancé une commande, je n'ai aucun retour. J'ai lu plusieurs messages sur des forums différents, fouillé google, la doc de php, et je n'ai rien trouvé. Je m'en remet donc à vous.
    Je précise que je mets bien le '\n' à la fin de ma chaîne.

    Merci d'avance pour votre aide
    /// ( : Léo : ) \\\
    ---C'est parce que la vitesse de la lumière est supérieure à celle du son, que certains paraissent brillants avant d'avoir l'air con---
    http://leobaillard.org (Hébergement gratuit, prog, forums, et autres)

    -------------------------

    L'orbe du temps (Zelda like 2D en Delphi) : Le Site

  2. #2
    Membre averti
    Homme Profil pro
    Responsable d'exploitation informatique
    Inscrit en
    Février 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable d'exploitation informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 35
    Par défaut
    Je peut essayer de t'aider on te montrant mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $connection = ssh2_connect([SERVEUR_SSH], 22);
    ssh2_auth_password($connection, [SSH_ADMIN], [SSH_PWD]);
    $stream = ssh2_exec($connection, [COMMANDE]);
    stream_set_blocking($stream, TRUE);
    $val = stream_get_contents($stream);
    echo("<pre>"); //que si c'est dans une page HTML
    print_r($val);
    echo("</pre>"); //que si c'est dans une page HTML
    et avec ça j'arrive à afficher le resultat de ma commande

  3. #3
    Membre éclairé
    Avatar de Leobaillard
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2004
    Messages
    313
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 313
    Par défaut
    Merci Mais ça j'arrive déjà à la faire. Mon problème concerne la fonction ssh2_shell. Et malheureusement je trouve pas de solution
    /// ( : Léo : ) \\\
    ---C'est parce que la vitesse de la lumière est supérieure à celle du son, que certains paraissent brillants avant d'avoir l'air con---
    http://leobaillard.org (Hébergement gratuit, prog, forums, et autres)

    -------------------------

    L'orbe du temps (Zelda like 2D en Delphi) : Le Site

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5
    Par défaut
    on voit pas ton code

  5. #5
    Membre éclairé
    Avatar de Leobaillard
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2004
    Messages
    313
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 313
    Par défaut
    Voilà voilà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    public function eShell_open()
        { #Ouvre un shell interactif
            $this->eShell = ssh2_shell( $this->connexion );
            usleep(50000);
            if ( !$this->eShell ) {
                    trigger_error( 'Erreur lors de l\'ouverture d\'un shell interactif.', E_USER_ERROR );
            }
        }
     
        public function eShell_write( $commande )
        { #Entrée d'une commande dans le shell
            //$commande .= '\n';
            if ( !fwrite( $this->eShell, $commande ) )
            {
                trigger_error( 'Erreur lors de l\'envoi d\'une commande au shell distant');
            }
            else
            {
                //Passage du socket en mode bloquant
                //stream_set_blocking( $this->eShell, true );
                sleep(5);
            }
        }
     
        public function eShell_read()
        { #Lecture d'un retour de commande
            //Passage du socket en mode bloquant
            //stream_set_blocking( $this->eShell, true );
            //Récupération du contenu du flux
            $this->retour = '';
            while ( $this->sortie )
            {
                $this->sortie = fgets( $this->eShell );
                $this->retour .= $this->sortie;
            }
            return $this->retour;
            fclose( $this->eShell );
        }
    Ce sont mes trois fonctions (d'une classe) qui #normalement# devrait me permettre de lancer une commande en mode console dans un shell 'intercatif'.
    /// ( : Léo : ) \\\
    ---C'est parce que la vitesse de la lumière est supérieure à celle du son, que certains paraissent brillants avant d'avoir l'air con---
    http://leobaillard.org (Hébergement gratuit, prog, forums, et autres)

    -------------------------

    L'orbe du temps (Zelda like 2D en Delphi) : Le Site

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 277
    Par défaut
    Je rencontre exactement le même problème. Je n'arrive pas à reprendre la main sur ma commande et donc je ne peux pas afficher le résultat de la requête.

Discussions similaires

  1. Ouverture d'un fichier texte avec IE (Pas de retour à la ligne)
    Par ran_hery dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 08/08/2013, 08h51
  2. pas de retour a la ligne avec \n ?
    Par oldergod dans le forum GWT et Vaadin
    Réponses: 5
    Dernier message: 17/07/2009, 11h11
  3. Réponses: 2
    Dernier message: 04/06/2009, 20h51
  4. [Firebird] on ne peux pas l'exploiter avec Delphi 2005 ??
    Par Harry dans le forum Bases de données
    Réponses: 2
    Dernier message: 22/04/2005, 11h40
  5. [GifDecoder] marche pas dans applet avec IE
    Par formentor dans le forum Applets
    Réponses: 2
    Dernier message: 06/05/2003, 10h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo