Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1749 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Problème avec la commande "exec" en PHP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème avec la commande "exec" en PHP

n°1043065
84phil
Posté le 11-04-2005 à 15:19:37  profilanswer
 

Bonjour a tous,
 
Voila mon poblème: dans mon script PHP, j'utilise la commande "exec" pour executer un programme batch qui lance un daemon MRTG.
Le problème est que ce daemon tourne continuellement et donc ma page web n'arrete pas de charger. Je voudrais donc que ma page se charge normalement et que mon daemon tourne en tache de fond.....
 
Merci pour vos réponses
 
Philippe

mood
Publicité
Posté le 11-04-2005 à 15:19:37  profilanswer
 

n°1043181
soju
One shot !
Posté le 11-04-2005 à 16:27:03  profilanswer
 

le code ?

n°1043182
84phil
Posté le 11-04-2005 à 16:32:52  profilanswer
 

Voila une partie du code :
 

Code :
  1. $fichier = fopen("d:\EasyPHP\www\MRTG\Batch\config.bat","r+" );
  2. $content = fread($fichier, filesize("d:\EasyPHP\www\MRTG\Batch\config.bat" ));
  3. if(count(explode("lan_$IP.cfg",$content))>1) {
  4. exec("d:\EasyPHP\www\MRTG\Batch\config.bat" );
  5. }
  6. else {
  7. fwrite($fichier,"perl c:\mrtg\bin\mrtg d:\EasyPHP\www\MRTG\lan_$IP.cfg" );
  8. exec("d:\EasyPHP\www\MRTG\Batch\config.bat" );
  9. }
  10. fclose($fichier);


 
et aussi le fichier .bat que j'appel avec le script PHP :  
 

Code :
  1. @echo off
  2. perl c:\mrtg\bin\mrtg d:\EasyPHP\www\MRTG\lan_010.006.036.063.cfg

n°1043412
GaSPaRD77
Posté le 11-04-2005 à 20:47:12  profilanswer
 

Voila comment je ferais ... (c'est vite fait et pas essayé, mais le principe me semble correct)
 

Code :
  1. $fichier = "d:\EasyPHP\www\MRTG\Batch\config.bat" ;
  2. if (@$fp = fopen($fichier, "r+" )) {
  3.     while (!feof($fp)) {
  4.         $line = fgets($fp, "1024" ) ;
  5.         if (preg_match("/(.)\\lan_([0-9]{0,3})\.{3}([0-9]{0,3})\.cfg$/", $line) {
  6.             fclose($fp) ;
  7.             @system($fichier) ;
  8.             exit (0) ;
  9.         } else {
  10.             fwrite($fp, "perl c:\mrtg\bin\mrtg d:\EasyPHP\www\MRTG\lan_".$IP.".cfg" ) ;
  11.             fclose($fp) ;
  12.             @system($fichier) ;
  13.             exit (0) ;
  14.         }
  15.     }
  16. }
  17. fclose($fp) ;


Message édité par GaSPaRD77 le 11-04-2005 à 20:53:14
n°1043664
84phil
Posté le 12-04-2005 à 08:15:37  profilanswer
 

Merci por ton code mais le problème que je voulais résoudre est toujours présent, à savoir que le fichier .bat tourne continuellement sur la page web et pas en tache de fond.....
 
Aidez moi SVP!!!

n°1043777
GaSPaRD77
Posté le 12-04-2005 à 10:05:16  profilanswer
 

Essaye ça :
 

Code :
  1. $fichier = "d:\EasyPHP\www\MRTG\Batch\config.bat" ;
  2. $WshShell = new COM("WScript.Shell" ) ;
  3. if (@$fp = fopen($fichier, "r+" )) {
  4.     while (!feof($fp)) {
  5.         $line = fgets($fp, "1024" ) ;
  6.         if (preg_match("/(.)\\lan_([0-9]{0,3})\.{3}([0-9]{0,3})\.cfg$/", $line) {
  7.             fclose($fp) ;
  8.             $oExec = $WshShell->Run($fichier, 7, false) ;
  9.             exit (0) ;
  10.         } else {
  11.             fwrite($fp, "perl c:\mrtg\bin\mrtg d:\EasyPHP\www\MRTG\lan_".$IP.".cfg" ) ;
  12.             fclose($fp) ;
  13.             $oExec = $WshShell->Run($fichier, 7, false) ;
  14.             exit (0) ;
  15.         }
  16.     }
  17. }
  18. fclose($fp) ;


n°1043850
84phil
Posté le 12-04-2005 à 10:45:48  profilanswer
 

J'ai peu etre une question con, mais que représente l'objet WScript.Shell ???

n°1043931
GaSPaRD77
Posté le 12-04-2005 à 11:28:33  profilanswer
 

84phil a écrit :

J'ai peu etre une question con, mais que représente l'objet WScript.Shell ???


 
http://www.winguides.com/scripting [...] php?id=109

n°1043950
84phil
Posté le 12-04-2005 à 11:39:49  profilanswer
 

Merci pour réponces mais j'ai encore un problème, la focntion :  

Code :
  1. $WshShell = new COM("WScript.Shell" ) ;


n'ouvre pas l'objet

n°1044066
84phil
Posté le 12-04-2005 à 12:49:32  profilanswer
 

En fait, j'obtient la réponse suivante lorsque j'execute la page :

Citation :

Warning: (null)(): Invalid ProgID, GUID string, or Moniker: Syntaxe incorrecte in d:\easyphp\www\mrtg\script_cfg.php


Je ne sais pas vraiment quoi en déduire....

mood
Publicité
Posté le 12-04-2005 à 12:49:32  profilanswer
 

n°1044100
GaSPaRD77
Posté le 12-04-2005 à 13:15:09  profilanswer
 

Tu tournes sous quel windows ?

n°1044133
84phil
Posté le 12-04-2005 à 13:33:18  profilanswer
 

En fait je crois que c'est un problème au niveau de mon pc, je suis sous win 2000 mais ca marche pas, chez mon collègue qui est sous XP, la commande WScript fonctionne bien...

n°1044183
GaSPaRD77
Posté le 12-04-2005 à 13:58:43  profilanswer
 

tu as le framework .NET d'installé sur ton win2000 ?
sinon installe le et ça devrait passer

n°1044266
84phil
Posté le 12-04-2005 à 14:49:15  profilanswer
 

A croire que je suis maudit, ca ne marche toujours pas, j'avai deja framework .net 1.1 d'installé, je l'ai reinstallé, mais ca ne marche pas mieux...
Je vas essayer de chercher et je vous dis si il y a du mieux !!

n°1044287
GaSPaRD77
Posté le 12-04-2005 à 14:58:46  profilanswer
 

Ouais parceque là je vois carrement pas ...

n°1044467
GaSPaRD77
Posté le 12-04-2005 à 16:26:05  profilanswer
 

Tient aussi change ton preg_match et met ça à la place, ça passera mieux :D
 

Code :
  1. /(.)+\\lan_(([0-9]{0,3})\.){3}([0-9]{0,3})\.cfg$/

n°1044524
soju
One shot !
Posté le 12-04-2005 à 16:53:18  profilanswer
 

au fait, sur la page http://fr.php.net/manual/fr/function.exec.php
regarde le commentaire de netshadow, ça correspond bien à ton problème je crois

n°1047013
84phil
Posté le 14-04-2005 à 10:00:27  profilanswer
 

Je te remerci, ton lien m'a été très utile et ca fonctionne maintenant!!!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Problème avec la commande "exec" en PHP

 

Sujets relatifs
Probleme avec ActionListenerprobleme lien
Formulaire, problème insertion de données[HTML] probleme de lien image[resolu]
Log -> PHP -> Mysql | Coment faire ? [Résolu]Problème de compilation sur visaul C++
Problème PHP -> affichage de certaines choses d'une table MySQLprobleme de saut de ligne
probleme template[PHP] Commande exec - probleme de passage de parametres
Plus de sujets relatifs à : Problème avec la commande "exec" en PHP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR