[SSH2] utilisation de ssh2_shell
bonjour a tous,
je cherche à utiliser la commande ssh2_shell de php mais je n'arrive pas a exécuter de commande dans le shell ouvert ni a réceptionner les messages d'erreurs. quelqu'un pourrait -il me guider: la doc sur le net est vraiment pauvre à ce sujet
voici mon code:
Code:
1 2 3 4 5
| if($connection = ssh2_connect('localhost',22)) or die ("die");
if(ssh2_auth_password($connection, 'boris', 'infodb')) or die ("die");
$shell = ssh2_shell($connection, "xterm");
$stderr_stream = ssh2_fetch_stream($shell, SSH2_STREAM_STDERR);
$stream = ssh2_exec($shell, "sqlplus /nolog"); |
test sur retour commande ssh2_shell()
voila j'ai finalement réussi par résoudre mon problème et voici le code :
Code:
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
| //initialisation de la connection au serveur distant via SSH
if($connection = ssh2_connect('localhost',22))
{
print "Connection réussie";
print "<br>";
//identification aupres du serveur distant
if(ssh2_auth_password($connection, '****', '****'))
{
print "Authentification réussie";
print "<br>";
print "<br>";
//demarrage de l'outil SQL Plus
print "Démarrage de SQL Plus ... ";
print "<br>";
$shell = ssh2_shell($connection,"xterm");
fwrite($shell, "sqlplus /nolog \n");
fwrite($shell, "connect system/manager@demoweb \n");
fwrite($shell, "startup \n");
sleep( 20 );
while( $line = fgets( $shell, 4096 ) )
{
print $line;
print "<br>";
}
}
else
{
print "Authentification echouée !";
print "<br>";
print "<br>";
}
}
else
{
print "Connection échouée !";
print "<br>";
print "<br>";
} |
lorsqu'une commande est exécutée les messages affichés par la console sont alors affichés sur la page web.
Mais je ne vois pas comment faire pour faire les test à savoir si la commande s'est exécutée avec succès ou avec des erreurs ou pas du tout ...
est ce que quelqu'un verrait comment faire ?