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

Langage PHP Discussion :

Erreur ssh2_fetch_stream() ..


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 16
    Par défaut Erreur ssh2_fetch_stream() ..
    Bonjour,

    Je suis face a un petit problème que j'arrive pas a résoudre..

    [Mon May 20 18:48:15 2013] [warn] [client 5.135.188.173] mod_fcgid: stderr: PHP Warning: ssh2_fetch_stream() expects parameter 1 to be resource, null given in /home/eternal-css/public_html/beta/modele/classes/Shs.php on line 48
    [Mon May 20 18:48:15 2013] [warn] [client 5.135.188.173] mod_fcgid: stderr: PHP Warning: stream_set_blocking() expects parameter 1 to be resource, null given in /home/eternal-css/public_html/beta/modele/classes/Shs.php on line 49
    [Mon May 20 18:48:15 2013] [warn] [client 5.135.188.173] mod_fcgid: stderr: PHP Warning: fgets() expects parameter 1 to be resource, null given in /home/eternal-css/public_html/beta/modele/classes/Shs.php on line 51
    [Mon May 20 18:48:15 2013] [warn] [client 5.135.188.173] mod_fcgid: stderr: PHP Warning: fclose() expects parameter 1 to be resource, null given in /home/eternal-css/public_html/beta/modele/classes/Shs.php on line 59
    [Mon May 20 18:48:15 2013] [warn] [client 5.135.188.173] mod_fcgid: stderr: PHP Warning: fclose() expects parameter 1 to be resource, null given in /home/eternal-css/public_html/beta/modele/classes/Shs.php on line 60
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    	function connect( $ip, $port, $user=NULL, $pass=NULL, $cmd,  $allow_return=0){
    		//$allow_return 1 => sorti classique, 2 => sortie boolean
    		    // Connect to the server
        	$ERR = false;
    		$log = new Logs();
    		if(!function_exists('ssh2_connect')){  
    			showLog('The ssh2 lib is not installed');
    			$log->addLog('SSH', "ERROR The ssh2 lib is not installed" ); 
    			return false;
    		}
     
    		try{
    			$ssh2 = ssh2_connect($ip,$port);
    			if($user != NULL AND $pass!=NULL){
    				$auth = ssh2_auth_password($ssh2, $user, $pass);
    				$data = '';
    				if(!$auth){
    					$log->addLog('SSH', "ERROR Connection $ip:$port => Erreur d'identification ( Login => $user AND  pass => $pass )" ); 
    					return false;
     
    				}
    			}
    		}catch(Exception $e){
    			$log->addLog('SSH', "ERROR Connection $ip:$port => Erreur de connexion ( Login => $user AND  pass => $pass )" ); 
    			$ERR = true;
    			return false;
    		}
      		flush();
     
    if (!$stream = ssh2_exec($ssh2, $cmd)) {
    	$log->addLog('SSH', "ERROR Connection $ip:$port => Erreur d'exécution de la commande shell $cmd" ); 
        $ERR = true;
    	//echo "<br />erreur d'exécution commande shell";
    }
     
     
    error_reporting(E_ALL);
     
    // Sortie de l'erreur quand il y en a une
    $stderr = ssh2_fetch_stream($stream, SSH2_STREAM_STDERR);
    stream_set_blocking($stderr, true);
    $output = '';
    while($ligne = fgets($stderr)) {
      $output = $output . $ligne . '<br />';
     
      }
     if($output != ''){
    	 $log->addLog('SSH', "ERROR Connection $ip:$port => commande:$cmd =>Erreurs : $output" ); 
    	 $ERR = true;
     }
    fclose($stderr);
    fclose($stream);
     
    		flush();
    if($ERR == true) return false;
     
    $log->addLog('SSH', "Connection $ip:$port => commande:$cmd $data" ); 
     
    		if($allow_return == 1) 
    			return $data;
     
    		return true;
     		// Close the stream
      		//fclose($stream);
     
    	}
    Je vois pas du tous l'erreur ...

    Merci de m’éclairer.

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Le message est assez clair pourtant :
    ssh2_fetch_stream() expects parameter 1 to be resource, null given
    En supposant qu'il s'agisse de ce bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if (!$stream = ssh2_exec($ssh2, $cmd)) {
    	$log->addLog('SSH', "ERROR Connection $ip:$port => Erreur d'exécution de la commande shell $cmd" ); 
        $ERR = true;
    	//echo "<br />erreur d'exécution commande shell";
    }
    // Sortie de l'erreur quand il y en a une
    $stderr = ssh2_fetch_stream($stream, SSH2_STREAM_STDERR);
    A priori, $stream est null et donc la fonction ssh2_fetch_stream ne sait pas quoi traiter.
    Essaye de décomposer ta condition de vérification :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $stream = ssh2_exec($ssh2, $cmd);
    if (!$stream) {
    ...
    et à faire en sorte que la suite du code ne s'exécute pas si il y a une erreur...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

  1. Erreur fréquente avec ASP et IIS
    Par Community Management dans le forum ASP
    Réponses: 2
    Dernier message: 11/02/2004, 23h20
  2. Check Url pour savoir si erreur 404 ou si le site existe
    Par Clément[Delphi] dans le forum Composants VCL
    Réponses: 2
    Dernier message: 07/08/2002, 14h49
  3. Réponses: 2
    Dernier message: 27/05/2002, 20h46
  4. erreur IDL:omg.org/CORBA/MARSHAL:1.0
    Par Pinggui dans le forum CORBA
    Réponses: 3
    Dernier message: 13/05/2002, 16h05
  5. [Kylix] Erreur objet
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 10h41

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