[RESOLU ] exec() return value = 11

exec() return value = 11 [RESOLU ] - PHP - Programmation

Marsh Posté le 27-05-2008 à 09:36:43    

Salut, j'ai un pb pour faire un exec en php dans mon code:

Code :
  1. $output = array();
  2. $return_var = 0;
  3. exec($path_bin.' '.$parm, $output, $return_var);
  4. echo '<p>exec('.$path_bin.' '.$parm.') => '.$return_var.' :</p>';
  5. print_r($output);


qui m'affiche:

Citation :

exec(chemin_vers_mon_executable liste_de_mes_parametres) => 11 : Array ( )


 
Impossible de trouver a quoi correspond le code d'erreur 11 dans google (je sais juste que ce n'est pas un pb de chmod qui renvairait 126)
 
Le chemin affiché à l'air bon (du moins si je me fie à un dirname(__FILE__) dans le dossier) et je précise que le code fonctionne sur l'ancien serveur de dev (mais en même temps le path est pas le même donc si ca vient de la...).
Comme on a changé de bécane, je suppute un pb de droit d'exécution du process php ou apache mais j'y connait rien :- /
 
Bref...
 
 
...HELP !


Message édité par mechkurt le 27-05-2008 à 12:02:13
Reply

Marsh Posté le 27-05-2008 à 09:36:43   

Reply

Marsh Posté le 27-05-2008 à 10:27:18    

tu dois sûrement avoir un message d'erreur sur stderr, donc ajoute 2>&1 à ta commande et tu auras plus d'infos dans $output

Reply

Marsh Posté le 27-05-2008 à 10:29:13    

J'ai trouvé ça : http://blog.idud.web.id/2007/06/gn [...] codes.html

Citation :

OS error code  11:  Resource temporarily unavailable


Mais même si c'est la bonne table de correspondance, ça ne m'avance pas beaucoup...
 
Des idées sur une interprétation ? ;-)

Reply

Marsh Posté le 27-05-2008 à 10:33:19    

soju a écrit :

tu dois sûrement avoir un message d'erreur sur stderr, donc ajoute 2>&1 à ta commande et tu auras plus d'infos dans $output


J'ai essayé:

Code :
  1. exec($path_bin.' '.$parm.'2>&1', $output, $return_var);


mais ça ne me donne pas plus de chose dans l'output, par contre j'ai troqué mon code 11 par un code 139 (qui n'existe pas dans le listing  [:ruisseau de larmes] )

Reply

Marsh Posté le 27-05-2008 à 10:35:45    

avec un espace ça ira mieux :

Code :
  1. exec($path_bin.' '.$parm.' 2>&1', $output, $return_var);

Reply

Marsh Posté le 27-05-2008 à 10:41:23    

Dans le doute, n'étant pas sur de la syntaxe, j'avais aussi essayé avec un espace mais avec le même résultat :-/
 
Merci quand même de te pencher sur le pb  :)

Reply

Marsh Posté le 27-05-2008 à 10:47:57    

et dans le log d'erreur php il y a des choses ?
sinon c'est quoi ta commande ?

Reply

Marsh Posté le 27-05-2008 à 12:01:39    

Mon collègue est allé le lancer en ligne de commande et le message était (un peu) plus explicite: "erreur de segmentation"
 
Flairant le truc chelou j'ai replacé mon fichier et maintenant ça fonctionne, je sais pas pourquoi ou comment il à été corrompu mais bon, au moins ça marche, j'espère que ça pourra aidé d'autres gens...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed