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

  FORUM HardWare.fr
  Programmation
  PHP

  Problème avec exec(): lancement d'un processus

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème avec exec(): lancement d'un processus

n°1343867
TheKaosThe​ory
Posté le 11-04-2006 à 10:44:50  profilanswer
 

Bonjour,
 
à l'aide de la commande exec() je cherche à lancer un logiciel (qui possède bien entendu une interface graphique) sur mon serveur (qui tourne sous IIS 5... :sweat: ).
 
J'ai donc essayé:
 
 

Code :
  1. echo "lancement<br>";
  2. echo (exec(escapeshellarg("start C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE" )));
  3. echo "lancé";


ceci me lance bien IE, mais en processus: je n'ai pas l'interface qui apparait  :cry:  
 
Ce que je ne comprends pas, c'est que tout le monde me dit que ça lance l'interface, mais moi non...
Lorsque je consulte la table des processus, IE a été lancé par SYSTEM (je suppose que c'est parce que IIS a été lancé lui aussi par SYSTEM?)
 
Merci pour votre aide ;)
 
PS: si je ne suis pas assez clair (ce qui est probable lol), n'hésitez pas à le dire  :na:


Message édité par TheKaosTheory le 11-04-2006 à 10:48:08
mood
Publicité
Posté le 11-04-2006 à 10:44:50  profilanswer
 

n°1344058
nargy
Posté le 11-04-2006 à 13:32:42  profilanswer
 

Essaye de lancer autre chose que IE, genre notepad, parceque je ne suis pas sûr que ça veuille dire grand chose de trouver IE dans la tables des processus.

n°1344075
TheKaosThe​ory
Posté le 11-04-2006 à 13:53:44  profilanswer
 

j'ai essayé notepad, explore,...mais rien ne se lance à l'écran...je n'ai que des processus

n°1344129
nargy
Posté le 11-04-2006 à 14:31:04  profilanswer
 

une config de IIS alors? je ne suis pas expert

n°1344137
Ricco
Retour au pays
Posté le 11-04-2006 à 14:38:25  profilanswer
 

escapeshellarg .... ça supprime justement pas le "start" ?


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
n°1344170
TheKaosThe​ory
Posté le 11-04-2006 à 14:57:35  profilanswer
 

j'ai fait affiché le résultat de  
       escapeshellarg("start iexplore" )
et le start reste bien...
 
merci nargy ;) (moi non plus je suis pas très fan d'IIS)


Message édité par TheKaosTheory le 11-04-2006 à 16:55:53
n°1344299
nargy
Posté le 11-04-2006 à 16:42:37  profilanswer
 

ha oui, tu devrais utiliser escapeshellarg et aussi escapeshellcommand


Message édité par nargy le 11-04-2006 à 16:42:48
n°1344312
TheKaosThe​ory
Posté le 11-04-2006 à 17:10:47  profilanswer
 

je viens d'essayer, mais ça ne change en rien ma commande...qui marche, enfin qui est exécuté par php et aussi par msdos puisque ça me lance un processus...mais qui ne fait pas ce que je veux lol
 
j'ai pensé à utiliser du javascript: je lance un script via le php, et ce script lancera le logiciel
PHP

Code :
  1. if (file_exists("C:\\www\\Web\\lancement.js" ))
  2. {
  3. echo "lancement du ficher <br>";
  4. $src=escapeshellarg("start C:\\www\\Web\\lancement.js" );
  5. exec($src);
  6. echo "fichier lancé";
  7. }


 
JavaScript

Code :
  1. var wshShell = new ActiveXObject("WScript.Shell" );
  2. wshShell.Run("IEXPLORE", 1, false);


 
je vais cherché à quoi servent les arguments de Run...(le 1 sert il me semble justement à lancer l'appli en tache de fond, minimisé, maximisé, etc..)
mais si à tout hasard, quelqu'un sait déjà à quoi ils servent ;)
 
PS: je suis en réseau local, ce serait-il possible de faire exécuter une commance dos sur le client, qui lancerait l'appli sur le serveur? :whistle:

n°1344356
nargy
Posté le 11-04-2006 à 17:55:17  profilanswer
 

a mon avis, tu te prends la tête, a moins que tu trouve quelqu'un qui connaisse un peu la config IIS, tu irai plus vite à cherche sur le net ou sur msdn si il y a une config spéciale pour lancer des applis derrière IIS.
 
SInon, as tu essayé un .bat tout bête?

n°1344357
nargy
Posté le 11-04-2006 à 17:56:18  profilanswer
 

autre solution: passer par un fichier de communication entre un serveur d'applis fait maison.

mood
Publicité
Posté le 11-04-2006 à 17:56:18  profilanswer
 

n°1344692
TheKaosThe​ory
Posté le 12-04-2006 à 08:26:22  profilanswer
 

sur msdn j'ai trouvé un bout de code qui pourrait me permettre de lancer l'appli avec un autre user name, je vais essayé pour voir...
 
qu'est ce que tu entends pas "passer par un fichier de comm"? cad un fichier intermédiaire?...

n°1344835
nargy
Posté le 12-04-2006 à 11:07:15  profilanswer
 

ouais, genre C:\private\comm.fifo
puis tu as un programme (serveur) qui lit en boucle ce fichier, quand il a une url qui arrive dans le fichier, il lance IE avec cette url.
côté site web, tu écrit l'url voulue dans le fichier de comm, et paf IE apparaît
niveau sécurité, faire les restrictions neessaires sur le fichier de comm.
(c'est une méthode infaillible, mais longue à developper)

n°1345701
TheKaosThe​ory
Posté le 13-04-2006 à 08:07:27  profilanswer
 

lol, c'est exactement ce que je fais maintenant:
je crée un fichier à l'aide de php, et mon "daemon" regarde environ toutes les minutes si le fichier existe.
S'il existe, je fais le traitement (et je supprime le fichier), sinon le programme continue d'attendre.
En effet, ça marche super bien ;)
Merci pour votre aide ^^


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

  Problème avec exec(): lancement d'un processus

 

Sujets relatifs
Problème pour déclaration d'un champ auto incrementProbleme script Upload [résolu]
Problème récupération Valeur de variableproblème avec le signe supérieur
[PHP][XSLT][entity] Problème avec les Entities ...[Résolu]Problème avec un script de dockbar type mac OS
probleme de rafraichissement de l affichage sous firefoxproblème avec la commande "connect to"
probleme lien banniere flashproblème avec la commande xcopy
Plus de sujets relatifs à : Problème avec exec(): lancement d'un processus


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