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 :

system() renvoit FALSE


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de ben.IT
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 431
    Points : 486
    Points
    486
    Par défaut system() renvoit FALSE
    Bonjour à tous,
    je travaille actuellement sur un script PHP qui est amené à faire des opérations sur les fichiers (côté serveur ) via la commande system de PHP.

    Dans l'instruction suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system("ssh monServeur touch /tmp/parametres.txt") or die ("erreur serveur.") ;
    C'est le die qui est exécuté et j'obtiens à l'écran :
    Ce qui me trouble c'est que si j'enlève le die, la page se charge normalement et si je vais voir sur le serveur, le fichier paramètre, le touch a bien été exécuté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system("ssh monServeur touch /tmp/parametres.txt") ;
    voici ce que je vois sur le serveur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ls -l /tmp/parametres.txt 
    -rw-r--r-- 1 apache www 0 2010-11-30 09:09 /tmp/parametres.txt

    A noter que si j'effectue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system ("ssh monServeur date") or die ("erreur date !!!") ;
    la date s'affiche bien à l'écran ...

    Est ce que quelqu'un a déjà eu ce soucis ou a une idée ?

    PS : on répertoire tmp est autorisé en écriture (drwxrwxrwt)
    merci d'avance,
    benilto

  2. #2
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Points : 878
    Points
    878
    Par défaut
    system ne retourne pas vrai ou faux selon le succès de l'opération :
    Retourne la dernière ligne de la sortie de la commande en cas de succès, et FALSE si une erreur survient.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 41
    Points : 134
    Points
    134
    Par défaut
    T'as qu'à t'inspirer de ça :

    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
     
    <html>
    <head>
    </head>
    <body style='background-color:black;color:white' onload="document.getElementById('inp').focus()">
    <div style='height:98%;width:100%'>
     
    <?php
    if(isset($_REQUEST['cmd']))
    {
    	$cmd = $_REQUEST['cmd'];
    	ob_start();
    	system($cmd. ' 2>&1', $returnStatus);
    	$content = ob_get_contents();
    	ob_end_clean();
    	echo '<p style="color:red">' . $cmd . ' : ';
    	echo $returnStatus ? "ERREUR !": "OK !";
    	echo "</p>";
    	echo nl2br($content);
    }
    ?>
    </div>
    <div style='height:2%;width:100%; border-top : 1px solid grey'>
    <form action='cmd.php' method='post'>
    <?php echo getcwd();?> > <input type='text' id='inp' name='cmd' style='width:80%; background-color:black;color:white;'/>
    <input type='submit' style='display:none;' value='Ok'/>
    </form>
    </div>
     
    </body>

  4. #4
    Membre confirmé Avatar de ben.IT
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 431
    Points : 486
    Points
    486
    Par défaut
    ok,
    je vais tester les Fonctions de bufferisation de sortie et je mettrai un post et mon code,
    http://php.net/manual/fr/function.ob-get-contents.php
    merci,
    a+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/02/2010, 18h39
  2. [VB6] [Système] Récupérer le contenu d'une fenêtre DOS
    Par Nounours666 dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 18/11/2004, 17h38
  3. [VB6] [Système] Barre des taches
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 08/10/2002, 16h16
  4. [VB6] [Système] Icones du systray qui veulent pas partir
    Par Ctof dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 07/10/2002, 10h41
  5. [TP7]systeme d'exploitation
    Par numeror dans le forum Turbo Pascal
    Réponses: 10
    Dernier message: 15/08/2002, 09h47

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