problème commande exec sur wamp par rapport à easyphp

problème commande exec sur wamp par rapport à easyphp - PHP - Programmation

Marsh Posté le 21-06-2006 à 16:27:55    

bonjour,
 
voila la situation:
 
J'ai une page qui éxécute un script bat (tmp.bat). Dans ce fichier bat, il y a la commande "c:\program files\foobar2000\foobar2000.exe". (foobar est un lecteur audio)
 
jusque là tout va bien.
 
Quand j'utilise easyphp 1.8 (avec php5), le script est bien éxécuté et la fenetre de foobar s'affiche à l'écran.
Avec wamp, le script est bien éxécuté aussi mais la fenetre de foobar ne s'affiche pas. Il est bien présent dans les processus, j'entends les musiques mais rien ne s'affiche à l'écran.
 
Comment faire pour que foobar s'affiche à l'écran avec wamp??
 
Je pense que le problème vient d'un paramètre différent dans le php.ini ou le httpd.conf entre la version d'easyphp et celle de wamp mais je n'arrive pas à trouver lequel. (j'ai essayé avec une autre application (notepad.exe de windows) et ca donne le même résultat).
 
J'attend vos réponses avec impatience car là je sèche.

Reply

Marsh Posté le 21-06-2006 à 16:27:55   

Reply

Marsh Posté le 15-09-2008 à 22:52:43    

J'ai le même problème, sous Wamp mon exec ne se lance pas, ca vient d'où
 
D'avance merci


---------------
Le problème avec les idées derrière la tête c'est qu'on ne peut pas les voir :??:
Reply

Marsh Posté le 16-09-2008 à 21:46:30    

Peut-être une directive du php.ini :
 
; This directive allows you to disable certain functions for security reasons.
; It receives a comma-delimited list of function names. This directive is
; *NOT* affected by whether Safe Mode is turned On or Off.
disable_functions = exec
 
?


---------------
Directeur Technique (CTO)
Reply

Marsh Posté le 18-09-2008 à 18:47:42    

Pas trouvé dans wamp


---------------
Le problème avec les idées derrière la tête c'est qu'on ne peut pas les voir :??:
Reply

Marsh Posté le 18-09-2008 à 21:29:31    

Wamp a-t-il les droits administrateur et est-il exécuté en mode compatibilité Windows XP (si t'es sous vista) ?


---------------
Directeur Technique (CTO)
Reply

Marsh Posté le 19-09-2008 à 08:53:11    

J'ai ubuntu en SE principale et j'utilise VirtualBox pour avoir une session XP dans laquelle j'ai Wamp, ça peut jouer ?


---------------
Le problème avec les idées derrière la tête c'est qu'on ne peut pas les voir :??:
Reply

Marsh Posté le 19-09-2008 à 09:04:28    

snike a écrit :

J'ai ubuntu en SE principale et j'utilise VirtualBox pour avoir une session XP dans laquelle j'ai Wamp, ça peut jouer ?


si tu as une ubunte en OS Principal tu crois pas que tu pourrais avoir un serveur apache/mysql/php sous linux :o
mais peut etre que tu es en train de dev un machin qui execute un soft sous windows :o, dans ce cas là, c'est ok :o

Reply

Marsh Posté le 19-09-2008 à 09:26:08    

gatsu35 a écrit :


si tu as une ubunte en OS Principal tu crois pas que tu pourrais avoir un serveur apache/mysql/php sous linux :o
mais peut etre que tu es en train de dev un machin qui execute un soft sous windows :o, dans ce cas là, c'est ok :o


 
Le programme n'est que sous Win, c'est bien pour cela


---------------
Le problème avec les idées derrière la tête c'est qu'on ne peut pas les voir :??:
Reply

Marsh Posté le 19-09-2008 à 09:31:33    

quel programme qui n'est que sous Windows ? wamp ? ou le programme que tu cherches à executer ?

Reply

Marsh Posté le 19-09-2008 à 09:36:41    

gatsu35 a écrit :

quel programme qui n'est que sous Windows ? wamp ? ou le programme que tu cherches à executer ?


Le programme à exécuter (un script AutoIt)


---------------
Le problème avec les idées derrière la tête c'est qu'on ne peut pas les voir :??:
Reply

Marsh Posté le 19-09-2008 à 09:36:41   

Reply

Marsh Posté le 19-09-2008 à 09:50:38    

snike a écrit :


Le programme à exécuter (un script AutoIt)


ah oui je comprend mieux :D

Reply

Marsh Posté le 19-09-2008 à 23:20:59    

Utilises-tu Wamp en mode web ou en mode CLI (Command Line Interface).
Je dis ça parce que les php.ini sont séparés, le php.ini du cli est un fichier de config spécialement paramétré pour les commandes en ligne... enfin me semble-y-il !


---------------
Directeur Technique (CTO)
Reply

Marsh Posté le 22-09-2008 à 17:59:07    

1er cas : le premier php.ini trouvé est celui présent dans le répertoire courant => fichier php.ini surement différent (sauf liens/raccourcis vers un même php.ini) en mode CLI et en mode web (répertoire courant différent) mais contenu pouvant être parfaitement identique  
2éme cas : fichier php.ini trouvé dans un répertoire autre que le répertoire courant => même fichier php.ini en mode CLI et en mode web
3éme cas : pas de php.ini trouvé dans le chemin de recherche => pas de différence de réglage sauf pour certaines options / voir documentation de php
 
Au niveau de l'analyse et du traitement du fichier ".ini" , c'est identique dans tous les cas sauf pour quelques options qui sont ignoré en mode CLI et pas en mode web :

  • "zlib.*" : l'utilisateur n'ayant pas de décodeur zlib derrière les yeux, ça reste sans effets en mode CLI. ;) En fait je ne sais pas si c'est vraiment ignoré mais de toute manière la compression zlib n'est appliqué que si le navigateur/utilisateur dit à php qu'il est capable de le décompresser. Vu qu'on ne lui dit jamais en mode CLI, c'est comme si c'était ignoré.
  • "max_execution_time" : le mode CLI étant fait pour des programmes qui sont sans limites de temps connus (programmes utilisé par un humains / programmes de type automate / ...) il est donc ignoré.
  • "output_buffering" : là j'en suis pas certain, c'est juste qu'un programme en mode CLI n'a pas vocation à afficher ses données par paquets mais plutôt au fur et à mesure
  • les "cgi." et "fastcgi." sont propre au mode CGI (appel d'un .exe par le serveur web) / Elles sont donc ignoré quand le serveur web charge l'extension apache (php*.dll) et quand on exécute php en mode CLI.
  • peut être deux trois autres que je ne connais pas.


 
Pour le problème du exec je me pose une question qui rejoint un peu celle de CyberDenix : php est il lancé comme module d'un serveur web qui est exécuté comme un "service" de windows? Si c'est le cas, c'est peut être pour ça que la fenêtre du programme ne s'affiche pas. Sinon il faut regarder sous quel utilisateur est lancé le dit programme. S'il est lancé avec un utilisateur différent de l'utilisateur courant il faudra chercher pourquoi (fichier ".bat" qui parasite l'appel, raccourcis windows dans le répertoire du programme qui modifie les conditions d'exécution du programme, ...)
 
PS en passant : A noter pour sa culture personnelle qu'en mode web, à partir de php 5.3.0 , on pourra aussi indiquer l'équivalent d'un fichier php.ini propre au répertoire courant du site web. Ca fonctionnera un peu comme le ".htaccess" d'apache mais avec la syntaxe du php.ini. Ça permettra de modifier certains comportement de php (comme si on le faisait directement dans le php.ini avec certaines limitations) sans que ces changements soit appliqués au serveur entié.


Message édité par omega2 le 22-09-2008 à 17:59:29
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed