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 24/10/2007, 10h07   #1
Membre du Club
 
Homme Jonathan
Inscription : avril 2007
Messages : 274
Détails du profil
Informations personnelles :
Nom : Homme Jonathan

Informations forums :
Inscription : avril 2007
Messages : 274
Points : 57
Points : 57
Par défaut [SSH2] PHP/SSH commande SQL

Bonjour à tous,

Je voudrais faire une commande SQL (sur oracle) sur un serveur distant par le biais du protocole SSH de PHP. Le ssh2 de php marche correctement.

J'arrive à me connecter à ma base oracle mais je ne sais pas comment passer les commandes SQL par la suite.

Je m'explique. Je veux juste récupérer le résultat de la commande "select status from v$instance sur une base oracle." il me dit que la syntaxe de connection oracle n'est pas bonne puisqu'il ne considère pas le \n comme une validation de la commade.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
$commande_ssh2 = 'sqlplus system/manager@demoweb \n
select status from v$instance; \n
exit \n';
 
echo 'Lancement de la commande : '.$commande_ssh2;
 
$stream = ssh2_exec($connection, $commande_ssh2);
 
stream_set_blocking( $stream, true );
 
$data = fread($stream,4096);
 
fclose($stream);
renvoie :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
Lancement de la commande : sqlplus system/manager@demoweb \n select status from v$instance; \n exit \n
 
Commande
 
Syntaxe : SQLPLUS [] [connexion] [] ]
où ::= - | -? | [ [-M ] [-R ] [-S] ]
::= [/][@] | / | /NOLOG }
::= @[.] [ ...]
"-" affiche la syntaxe
"-?" affiche le numéro de version de SQL*Plus
"-M " utilise les options de balisage HTML
"-R " utilise le mode restreint
"-S" utilise le mode silencieux
Merci d'avance


[EDIT]

J'ai légèrement changé le programme pour qu'il prenne en compte les \n :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
$commande_ssh1 = "sqlplus system/manager@demoweb \n
select status from v$instance; \n
exit \n
";
 
echo 'Lancement de la commande : '.$commande_ssh.'<br/>';
 
$stream = ssh2_exec($connection, $commande_ssh);
 
stream_set_blocking( $stream, true );
 
$data = "";
while( $buf = fread($stream , 1024) )
{
	$data .= '<hr />'.$buf;
}
Le problème est que je ne récupère plus la main. La page se charge indéfiniment.
Jonathan.b est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2007, 08h24   #2
Membre du Club
 
Homme Jonathan
Inscription : avril 2007
Messages : 274
Détails du profil
Informations personnelles :
Nom : Homme Jonathan

Informations forums :
Inscription : avril 2007
Messages : 274
Points : 57
Points : 57
Meme en rajoutant un
Code :
stream_set_timeout( $stream , 2 ); // 2secondes
Je ne récupère toujours pas la main. Est ce que cette fonction marche correctement?
Jonathan.b est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h10.


 
 
 
 
Partenaires

Hébergement Web