PHP et exec() sous Windows

PsychedeChed
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 12
Inscription: 22 Avr 2007

PHP et exec() sous Windows

Message le Mar Déc 04, 2007 17:56

Bonjour,

J'ai créé un programme en C# qui prend en paramètres un fichier en entrée et un fichier en sortie qui permet de convertir le fichier en entrée en pdf. Tout ça marche nickel en ligne de commande.
Ensuite j'ai un site Internet (hébergé chez moi, sous Vista avec Wamp 2.0). A un moment je fais un appel à mon script grâce à la fonction "exec()" mais là rien ne se passe comme il faut.
Le programme est bien appelé, mais une fonction plante dans mon code C#. C'est une fonction d'ouverture de fichier : je teste que le fichier existe, et si c'est le cas je l'ouvre. Le test est positif, le fichier existe bel et bien mais l'ouverture plante... alors que tout fonctionne en ligne de commande.
Je me suis dit que c'était peut-être une histoire de droits, mais je devrais pas avoir ce problème sous Windows non ?
Si vous avez une idée, je suis preneur...
Merci


Jeviensderio
WRInaute passionné
WRInaute passionné
 
Messages: 1340
Inscription: 29 Sep 2006

Message le Mar Déc 04, 2007 20:23

Un petit bout de code serait plus parlant qu'un long discours (dixit Napoléon version programmeur) :)

PsychedeChed
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 12
Inscription: 22 Avr 2007

Message le Mar Déc 04, 2007 20:55

En gros en ligne de commande c'est :
WordConverter.exe <in.doc> <out.pdf>
(faut que in.doc soit dans le même répertoire que WordConverter)
Et en PHP ça donne (une fois dans le même répertoire que WordConverter avec chdir) :
passthru("WordConverter.exe in.txt out.pdf"); ou exec, ou system... c'est tout pareil, ça marche pas.

Bon un pote vient d'essayer chez lui, ça marche avec XP mais chez moi avec Vista marche pas. Je pense de plus en plus aux droits utilisateur...


rog
WRInaute passionné
WRInaute passionné
 
Messages: 1662
Inscription: 21 Sep 2006

Message le Mar Déc 04, 2007 21:01

ouai c'est probablement vista qui bloque

faudrait voir dans les logs erreurs php si il y a eu une entrée

voir dans les incidents vista

et certainement aller dans les services pour retoucher le service apache en commençant à l'autoriser à interagir avec le bureau ce qui te donnera peut etre un prompt pour l'execution de ton prog

rog

PsychedeChed
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 12
Inscription: 22 Avr 2007

Message le Mar Déc 04, 2007 21:09

J'ai rien de spécial dans le log d'erreur de php et j'avais déjà autorisé Apache à interagir avec le bureau mais rien n'y fait... J'ai donné le "contrôle total" dans les paramètres de sécurité à tous mes fichiers et répertoires utilisés, mais ça ne change rien


rog
WRInaute passionné
WRInaute passionné
 
Messages: 1662
Inscription: 21 Sep 2006

Message le Mar Déc 04, 2007 21:20

alors c'est peut etre la methode que tu emploies pour passer les parametres

sous windows des fois c'est capricieux

une de mes fonctions

Code: Tout sélectionner
if(stristr($_SERVER['SERVER_SOFTWARE'],"win"))
      {
      $cmd = $_ENV['antivirus']['path'][$_REQUEST['antivirus']].' '.str_replace('%target%',escapeshellarg($target),$_ENV['antivirus']['arg'][$_REQUEST['antivirus']]);
      
      
      
      
      
             $handle = popen($cmd.' 2>&1','r');
   #      
    while($read = fread($handle,100))
      {
        echo nl2br($read);
      //fwrite($fp,$read);
      flush();
      #
        }
   pclose($handle);


je presume que je n'ai pas besoin de la commenter

rog[/quote]


Jeviensderio
WRInaute passionné
WRInaute passionné
 
Messages: 1340
Inscription: 29 Sep 2006

Message le Mer Déc 05, 2007 17:02

Si c'est une question de droits, il faudrait ajouter un fichier manifest (Wordconverter.manifest) qui donne des droits d'administrateur.

Voir ce post.

PsychedeChed
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 12
Inscription: 22 Avr 2007

Message le Ven Déc 07, 2007 0:06

Ca a l'air pas mal mais l'UAC est désactivée chez moi... De plus j'ai du mal à en trouver un peu plus concernant les manifest


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités