A voir également:
- [php/ssh] probleme variable bizard!
- Easy php - Télécharger - Divers Web & Internet
- Ssh download - Télécharger - Divers Web & Internet
- Get_magic_quotes_gpc php 8 ✓ - Forum PHP
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp ✓ - Forum Word
4 réponses
Bonjour,
J'essaie d'effectuer à peut près la même manip mais moi je rencontre un problème bien avant l'insertion d'une variable.
Mon problème c'est que je n'arrive pas à récupérer la main.
Je m'explique. Je veux juste récupérer le résultat de la commande elect status from v$instance sur une base oracle.
J'ai donc le code suivant:
$commande_ssh = 'sqlplus system/manager@demoweb; \n
select status from v$instance; \n
exit; \n
exit; \n';
echo 'Lancement de la commande : '.$commande_ssh;
$stream = ssh2_exec($connection, $commande_ssh);
stream_set_blocking( $stream, true );
$data = "";
while( $buf = fread($stream,10) )
{
$data .= '<hr />'.$buf;
}
fclose($stream);
Mais la page ne s'affiche jamais, il y a donc surment une erreur mais je n'ai pas de retour donc auncun moyen de cibler l'erreur.
Avez vous une solution?
Merci d'avance
J'essaie d'effectuer à peut près la même manip mais moi je rencontre un problème bien avant l'insertion d'une variable.
Mon problème c'est que je n'arrive pas à récupérer la main.
Je m'explique. Je veux juste récupérer le résultat de la commande elect status from v$instance sur une base oracle.
J'ai donc le code suivant:
$commande_ssh = 'sqlplus system/manager@demoweb; \n
select status from v$instance; \n
exit; \n
exit; \n';
echo 'Lancement de la commande : '.$commande_ssh;
$stream = ssh2_exec($connection, $commande_ssh);
stream_set_blocking( $stream, true );
$data = "";
while( $buf = fread($stream,10) )
{
$data .= '<hr />'.$buf;
}
fclose($stream);
Mais la page ne s'affiche jamais, il y a donc surment une erreur mais je n'ai pas de retour donc auncun moyen de cibler l'erreur.
Avez vous une solution?
Merci d'avance
<?php $utilisateur = "test"; $sonpass = "test"; $varbash = "useradd ".$utilisateur." -p".$sonpassword." -m -k /etc/skel -s /bin/bash \n passwd ".$sonpassword." \n ".$sonpassword." \n ".$sonpassword." \n quotatool -u ".$utilisateur." -bq 599M -l '600 Mb' /home \n mkdir /home/".$utilisateur."/www \n chown -R ".$utilisateur." /home/".$utilisateur."/www \n cd /home/".$utilisateur."/www \n wget http://lesiteweb/heb/index.html \n mysql -p \n ".$passroot." \n CREATE USER ".$utilisateur."; SET PASSWORD FOR '".$utilisateur."'= PASSWORD('".$sonpassword."'); CREATE DATABASE `".$utilisateur."`; GRANT ALL PRIVILEGES ON `".$utilisateur."` . * TO '".$utilisateur."'; GRANT USAGE ON * . * TO '".$utilisateur."' IDENTIFIED BY '".$sonpassword."' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; \n exit; \n exit; \n"; // deux exite c'est normal une pour quitter sql l'autre pour close le pid ssh $connection = ssh2_connect('ip', 22); ssh2_auth_password($connection, 'root', 'lepass'); $stream = ssh2_exec($connection, $varbash); ?>
Essaye ca j'ai juste fait en sorte que tes variables passe correctement avec les double guillement.
Apres pour ce qui est des commandes j'ai pas verifié.
De plus, pense a mettre <?php car si tu peut avoir des probleme de compatibilite entre tes plateformes de prod. (Unix - linux)
Autre petite question. Comment fais tu pour que les \n soit considérés comme de "Entrée". Chez moi, ils sont considéré comme faisant partie de la commande et donc ca me renvoie une erreur de syntaxe :S
Utilisateur anonyme
24 oct. 2007 à 12:05
24 oct. 2007 à 12:05
Je pense que tu devrais les faire une par une les commandes avec vérification qu'elles soit passées car d'après ce que je vois la premiere doit deja poser problème.
Ici tu crée ton user
Je comprend pas pourquoi tu re-specifie ton password ensuite.
Enfin je te préconiserais de vérifier ligne par ligne les commandes que tu fais car le serveur va surement pas apprecier de recevoir des commande éronné et surtout que ca va créer un profil qui ne sera peut etre pas complet. Car dans ce cas il faut que le detruise pour ne pas avoir de trou de securité.
useradd ".$utilisateur." -p".$sonpassword." -m -k /etc/skel -s /bin/bash \n
Ici tu crée ton user
Je comprend pas pourquoi tu re-specifie ton password ensuite.
passwd ".$sonpassword." \n ".$sonpassword." \n ".$sonpassword." \n
Enfin je te préconiserais de vérifier ligne par ligne les commandes que tu fais car le serveur va surement pas apprecier de recevoir des commande éronné et surtout que ca va créer un profil qui ne sera peut etre pas complet. Car dans ce cas il faut que le detruise pour ne pas avoir de trou de securité.