Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1311 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu][PHP] debug de la fonction exec

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu][PHP] debug de la fonction exec

n°1889325
nabbo
Posté le 29-05-2009 à 10:52:45  profilanswer
 

hello
 
j'ai un soucis avec la fonction php exec (ou system, ou passthru).  
ma conf : php 5.2 sur IIS6. Safe mode=Off
 
 
le code ci-dessous :  

Code :
  1. $result = exec("dir > out.txt" );


ne produit aucun résultat, aucun fichier n'est créé où que ce soit sur le disque.
 
le code ci-dessous :  

Code :
  1. $result = exec("dir > out.txt" ) or die("erreur" );


execute l'opération die, et affiche "erreur", mais je ne sais pas comment obtenir plus d'informations.
 
j'ai essayé un  

Code :
  1. try {
  2.    $result = exec("dir > out.txt" );
  3. } catch (Exception $e) {
  4.     echo 'Caught exception: ',  $e->getMessage(), "\n";
  5. }


ca n'affiche rien, et ca ne semble pas aller dans le catch...
 
est ce qu'il existe un équivalent à mysql_error pour la fonction exec, pour que je sache ce qui ne va pas ?
merci
 
:jap:
 
edit : j'ai activé l'affichage des erreurs dans php.ini, et le log dans un fichier externe. rien dans ce fichier non plus, qui se remplit par ailleurs pour d'autres erreurs (pas liées)
edit2 : le lancement en ligne de commande directement sur le serveur fonctionne : le fichier out.txt est créé. pourtant, si je spécifie une clause or die(), il l'exécute (et créé aussi le fichier...)


Message édité par nabbo le 02-06-2009 à 04:39:51
mood
Publicité
Posté le 29-05-2009 à 10:52:45  profilanswer
 

n°1889332
_v1ru5_
Posté le 29-05-2009 à 11:17:21  profilanswer
 

Bonjour,
En plus de la ligne de commande, la fonction exec prend 2 paramètres optionnels. Le premier est un tableau qui contiendra les lignes renvoyées pas la console et le second est un entier qui contient le code retour de la commande.
Passe ces deux paramètres. Tu aura peut-être plus d'informations sur ton erreur.


Message édité par _v1ru5_ le 29-05-2009 à 11:17:34

---------------
« L'esprit ressemble à de l'eau : quand il est agité, il devient difficile à percevoir. Mais si on le laisse s'apaiser, alors la réponse devient claire. » Albert Einstein
n°1889342
nabbo
Posté le 29-05-2009 à 11:29:13  profilanswer
 

hello
 
le tableau renvoyé est vide. le code de retour vaut 1
 
des idées ?

n°1890062
Profil sup​primé
Posté le 01-06-2009 à 11:58:43  answer
 

ne pas utiliser eval ?

n°1890072
nabbo
Posté le 01-06-2009 à 12:31:36  profilanswer
 

:hello:
 
je n'utilise pas eval, mais exec (ou ses variantes : system, passthru, etc)
 
pour exécuter des commandes sur le serveur, je vois pas autre chose ;-)

n°1890098
Profil sup​primé
Posté le 01-06-2009 à 14:31:14  answer
 

ah désolé, j'ai lu trop vite :(
Le problème est que comme tu rediriges la sortie, le script n'attends pas la fin du programme (listage dir) et donc tu ne pourras peut-être pas tester efficacement la réussite de la commande.

n°1890119
zefree93
Posté le 01-06-2009 à 15:24:43  profilanswer
 

peut être un problème de permissions en écriture...
essaies la même commande SANS la redirection vers le fichier out. Tu auras normalement un code retour = 1 et le tableau ne sera plus vide.
 

n°1890232
nabbo
Posté le 02-06-2009 à 04:39:29  profilanswer
 

:hello:
 
c'est effectivement un problème de droits. en élevant le application pool de IIS de "Network Service" à "Local System" ca passe mieux.
 
Bon. évidemment c'est pas top au niveau sécurité, mais maintenant, il reste à créer un compte restreint et lui donner les droits adéquats...
 
Reste que les commandes ne donnaient pas la moindre piste sur l'erreur. Même sans rediriger la sortie, je n'obtenais aucune indication...
 
Merci pour votre aide en tout cas.
 
:jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu][PHP] debug de la fonction exec

 

Sujets relatifs
Limitation du ombre d'upload avec PHP[résolu] Lire le contenu de mails d'une BAL avec PHP
[Résolu][Javascript]Boucle de test et définition de variable.problème de script qui s'arrête avant la fin [RESOLU]
erreur javascript[RESOLU] [C#] [WinForms] WebBrowser et ProgressBar
[Résolu] Joindre une image à un mail avec C#[RESOLU] - [JTree] Activer noeud par un clic
[PHP-EXT] Alignement de combo horizontal 
Plus de sujets relatifs à : [Résolu][PHP] debug de la fonction exec


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR