Prob PHP fontion exec

Fermé
newbie PHP - 30 janv. 2009 à 16:08
 newbie PHP - 2 févr. 2009 à 10:21
Bonjour, Voila, je dois lancer un programme depuis une application web. L'application se lançant sur le serveur.
J'utilise donc la commande exec de php. Mon problème est le suivant :

Qund je fais un exec("cmd.exe") cela fonctionne, de meme pour ipconfig et les qutres ...

Quand je fais un exec ("monprog.exe") la fenetre DOS s'ouvre mais je n'ai pas d'écriture dedans j'ai juste la fenetre entièrement noir.
monprog.exe fonctionne pourtant bien lorsqu'elle executé par un double clique.

Merci d'avance
A voir également:

7 réponses

Mikey_UFC Messages postés 312 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 2 août 2010 1
30 janv. 2009 à 16:18
Salut,

Soit l'utilisateur n'a pas les droits.
Soit si ce n'est pas une commande système, il lui manque peut-être le chemin pour accéder au programme.
0
Merci de ta réponse,
comment et où règle ton les droits ?

monprog.exe est un programme en C. Le programme se lance bien au lencement de la pge web donc je ne pense pas qu'il y est un problème de chemin, le problème c'est que rien ne s'affiche dans le fenetre DOS qui se lance.
En résumé le prog se lance mais j'ai pas le contenu et aucune n'erreur n'apparait.
0
Mikey_UFC Messages postés 312 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 2 août 2010 1
30 janv. 2009 à 16:41
Si tu fais exec ("monprog.exe") et que ça ouvre la fenêtre DOS, le problème vient du programme.
0
C'est ce que je pense aussi mais ce programme fonctionne bien quand je le lance depuis un double clique et il se lance mais ne m'affiche rien quand je le lance depuis la commande exec depuis le servur. Je vais essayer de voir mais comment peut on expliquer le fait que cela marche d'un coté mais pas de l'autre ?

encore merci de tenter de résoudre mon problème
0
Utilisateur anonyme
30 janv. 2009 à 17:05
Quand tu lances ton programme à partir de la fenêtre Dos, ça marche?
Essaye ça, dans ton php:
exec ("cmd /k monprog.exe")
Avec un point virgule à la fin je suppose.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Oui quand je le lance depuis DOS sa fonctionne.
Je viens d'essayer ta méthode Gogeta et rien ne se lance. Je n'ai aucune fenetre tout court

Merci d'avoir essayer
0
Utilisateur anonyme
30 janv. 2009 à 17:24
Oki dsl, le "/k" te permet de laisser ta fenêtre ouverte quand tu lances la commande à partir d'Executer. Jcroyais qu'il y avait une similitude mais bon... Ben bon courage.
0
Rectification, avec ton code ça se lance mais toujours aucun affichage
Retour à la case départ.

Pour li'instant le seul truc qui marche c'est : exec("start monprog.exe"); Il y a juste le problème que rien ne s'affiche dans la fenetre DOS ki se lance

Merci quand meme
0
Après plusieurs recherche j'ai trouver la solution.
Plutot que de lancer directement mon programme en faisant exec("start monprog.exe")
Je lance mon invite de commande qui ensuite lance le programme en question exec("start cmd.exe /c monprog.exe")
Merci à tous ceux qui ont tenté de m'aider.
0