Command exec()

Eléphant du PHP | 103 Messages

05 avr. 2012, 10:54

Bonjour,

Je cherche à ouvrir un programme en background avec un script php. Pour le test j'essaie avec nodepad mais rien ne se passe. Quand je clique l'application se met à mouliner puis plante.
J'ai les lignes de codes suivantes :
$cmd = 'C:/Program Files/Notepad++/notepad++.exe';
exec($cmd);
Pourtant j'ai vu sur des forums que certains avaient réussi à lancer des programmes de cette façon mais moi ça ne fonctionne pas. Y a t-il un reglage particulier à faire dans les modules d'apache ... ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

05 avr. 2012, 11:27

salut,

sous Windows c'est des \ et non des /

qu'elle version de windows as tu ? (sous W7 c'est program files (86)

ajoute des " autour parce que la console ça aime pas les espaces.

après heu je sais pas :d

essai avec autre chose, je suis pas certain que cela soit pertinent comme test :s

@+
Il en faut peu pour être heureux ......

ViPHP
xTG
ViPHP | 7331 Messages

05 avr. 2012, 12:54

Il faut régler la configuration du compte il me semble sous windows.
L'utilisateur utilisé par Apache n'a pas accès au bureau. Donc quand le programme est lancé tu ne le vois pas.
A confirmer cependant, il me semble avoir lu cela mais tant que j'aurai pas retrouvé un quelconque article sur le sujet cela sort d'une quelconque case de ma mémoire...

Eléphant du PHP | 103 Messages

05 avr. 2012, 15:20

Salut !
Merci pour vos réponses. J'ai changé les / par \ et mis des " mais pas mieux. Oui je crois qu'en fait la commande se lance mais on ne le voit pas, ça reste transparent. Or moi c'est vrai que je voulais lancer une application comme si on la démarrait depuis le bureau :s

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

05 avr. 2012, 18:08

Dans ce cas tu peux voir avec Google pour faire une substitution d'utilisateur sous windows (équivalent de sudo)
Si j'ai le temps je ferrais un test ce soir.

@+
Il en faut peu pour être heureux ......