PHP et exec() sous Windows
8 messages
• Page 1 sur 1
- PsychedeChed
- Nouveau WRInaute

- Messages: 12
- Inscription: 22 Avr 2007
PHP et exec() sous Windows
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
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é

- Messages: 1340
- Inscription: 29 Sep 2006
Un petit bout de code serait plus parlant qu'un long discours (dixit Napoléon version programmeur) 
- PsychedeChed
- Nouveau WRInaute

- Messages: 12
- Inscription: 22 Avr 2007
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...
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é

- Messages: 1662
- Inscription: 21 Sep 2006
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
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

- Messages: 12
- Inscription: 22 Avr 2007
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é

- Messages: 1662
- Inscription: 21 Sep 2006
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
je presume que je n'ai pas besoin de la commenter
rog[/quote]
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é

- Messages: 1340
- Inscription: 29 Sep 2006
Si c'est une question de droits, il faudrait ajouter un fichier manifest (Wordconverter.manifest) qui donne des droits d'administrateur.
Voir ce post.
Voir ce post.
- PsychedeChed
- Nouveau WRInaute

- Messages: 12
- Inscription: 22 Avr 2007
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
8 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- php, exec, et safemode
- droit d'execution pour apache avec la commande exec de php
- Microsoft Windows : après Windows Vista, voici Windows Seven
- Passer de PHP 4 à PHP 5 sous Windows
- exec() chez ovh
- exec() ou shell_exec() possible sur 1and1?
- rechercher dans les fichiers php avec windows xp
- URL Rewriting d'un forum PHP sur serveur Windows 2000
- Clé Windows Eng sur un Windows Fra
- Windows Really Good Edition (Windows RG)
Consultez la description détaillée des produits ou services de Google suivants : Gmail Notifier
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
