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

  FORUM HardWare.fr
  Programmation
  PHP

  fonction exec ou shell_exec lancer depuis un navigateur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

fonction exec ou shell_exec lancer depuis un navigateur

n°2098535
snike
Posté le 30-08-2011 à 22:13:35  profilanswer
 

Bonjour
 
  Quand je lance une application depuis la fonction exec ou shell_exec la page php tourne en boucle. à l'arrêt du programme exe la page php s'affiche.
  Comment faire pour que la page php ne reste pas en attente de la fin d'exécution du programme exe ?
 
Merci d'avance


---------------
Le problème avec les idées derrière la tête c'est qu'on ne peut pas les voir :??:
mood
Publicité
Posté le 30-08-2011 à 22:13:35  profilanswer
 

n°2098620
rufo
Pas me confondre avec Lycos!
Posté le 31-08-2011 à 10:44:13  profilanswer
 

Si ton serveur est sous linux, dans la ligne de commande, met un & à la fin il me semble, c'est pour dire que le shell doit être bloquant et pas attendre la fin de l'exécution de l'exe...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2098842
snike
Posté le 31-08-2011 à 20:10:02  profilanswer
 

serveur sur win xp


---------------
Le problème avec les idées derrière la tête c'est qu'on ne peut pas les voir :??:
n°2098853
CyberDenix
Posté le 31-08-2011 à 20:52:22  profilanswer
 

il te faut forker en php dans ce cas !


---------------
Directeur Technique (CTO)
n°2098869
snike
Posté le 31-08-2011 à 23:00:30  profilanswer
 

CyberDenix a écrit :

il te faut forker en php dans ce cas !


 
Pourrais tu me dire ce que cela signifie, merci


---------------
Le problème avec les idées derrière la tête c'est qu'on ne peut pas les voir :??:
n°2099070
CyberDenix
Posté le 01-09-2011 à 20:50:14  profilanswer
 

http://php.net/manual/fr/function.pcntl-fork.php
 
http://fr.wikipedia.org/wiki/Fork_(programmation)
 
Cette fonction fonctionne aussi, sauf erreur, sous windows.


Message édité par CyberDenix le 01-09-2011 à 20:51:47

---------------
Directeur Technique (CTO)
n°2099084
snike
Posté le 01-09-2011 à 22:37:00  profilanswer
 

J'avais trouvé cela, mais je vois pas où est mon fichier .bat ou .exe à lancer dans ce code :

Code :
  1. <?php
  2. $pid = pcntl_fork();
  3. if ($pid == -1) {
  4.      die('dupplication impossible');
  5. } else if ($pid) {
  6.      // le père
  7.      pcntl_wait($status); // Protège encore des enfants zombies
  8. } else {
  9.      // le fils
  10. }
  11. ?>

[:azitwaz]


---------------
Le problème avec les idées derrière la tête c'est qu'on ne peut pas les voir :??:
n°2099307
CyberDenix
Posté le 02-09-2011 à 21:20:40  profilanswer
 

Tu fais ton system/shell_exec dans le fils, et à la fin du fils tu fais un exit().
 
Dans le père tu continues le process normalement.
 
C'est pour ça que dans le code je mettrais plutot le fils en premier (la tache à executer en background, if (!$pid) {...}), puis le père qui est la branche normale du code.


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

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

  fonction exec ou shell_exec lancer depuis un navigateur

 

Sujets relatifs
recherche fonction javasript[Shell-AIX] conversion PDF en TXT
[C] : Problème avec la fonction systemExecution fonction stockée dans table SQL
[Résolu] Limiter des options en fonction de choix antérieurs ?[Shell/Batch] Mise à jour de l'annuaire AD
Planification d'une fonction PHPComment lancer une fonction dans une fonction JS?
Lancer deux executables simultanément 
Plus de sujets relatifs à : fonction exec ou shell_exec lancer depuis un navigateur


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