PHP exec()

Fermé
Utilisateur anonyme - Modifié par crapoulou le 15/05/2015 à 19:11
 Utilisateur anonyme - 26 janv. 2011 à 19:00
Bonjour,

Voila j'ai un petit script php qui exécute un programme via la commande exec
le problème c'est que la sortie de exec me retourne rien a part un entier

voila le script :
<?php

ExecProg("unzip");

function ExecProg($comande)
{
 unset ($outcom);
 echo '<br>Execution de : '.$comande;
 
 exec($comande,$outcom,$valret);
 
 echo '<br>Resultat : <br> $valret = '.$valret;
    echo '<pre>';
  print_r($outcom);
 echo '</pre>';
 
 echo '<br>FIN<br>';
 
 return implode("",$outcom);
}

?>


et voici ce qu'il me retourne :


Execution de : unzip
Resultat :
$valret = 127

Array
(
)


FIN


un "ExecProg("echo coucou");"

lui me retourne bien un :


Execution de : echo cooucou
Resultat :
$valret = 0

Array
(
    [0] => cooucou
)


FIN


Donc voila si vous avez une idée pourquoi unzip ne marche pas et echo oui, vous êtes le bienvenu.
A voir également:

4 réponses

Utilisateur anonyme
24 janv. 2011 à 00:11
PS : Un "ls" me renvoie bien la liste des fichiers
0
L'exécution de "unzip" seul doit certainement engendrer un statut d'erreur si celui-ci n'a pas reçu les paramètres nécessaires.
A vérifier également, l'existence de la commande "unzip"
0
Utilisateur anonyme
24 janv. 2011 à 00:48
la commande unzip seul ne devrais pas me renvoyer la liste des options ?

comment puis-je savoir si la commande unzip est disponible ?
0
je viens de faire un petit test

je viens de compiler le code suivant :

/*

Compilation : g++ coucou.cpp -o coucou
By : Jeje-50

*/


#include <iostream>
#include <stdlib.h>
#include <stdio.h>

int main (int argc, char *argv[])
{
std::cout << "coucou" << std::endl; 
return(0);
}


et lorsque je l'exécute sur le serveur ( permission a 777 )
j'obtiens :

Execution de : ./coucou
Resultat :
$valret = 11

Array
(
)

Passthru :

ValRetPassthru = 11

FIN


si cela peu vous éclairer ?
0
Utilisateur anonyme
26 janv. 2011 à 19:00
up
0