Appel d'une commande bloquante via system() - PHP - Programmation
Marsh Posté le 30-05-2006 à 16:15:26
Faut peut-être faire cet appel dans un script à part lancé via un web bug ou par javascript.
Marsh Posté le 30-05-2006 à 16:19:05
palnap a écrit : Un truc tout con : j'appelle dans ma page PHP une commande Unix via la fonction system(). |
En ce qui me concerne, j'évite absolument :
Tu peux envisager de séparer ton code en deux : ta page web alimente une file d'attente en base de données, et un script (appelé en cron) lance tes commandes en fonction de la file d'attente. Enfin, c'est comme ça que je ferais...
Marsh Posté le 30-05-2006 à 15:12:13
Un truc tout con : j'appelle dans ma page PHP une commande Unix via la fonction system().
Le problème c'est que tant que cette commande ne va pas rendre la main à l'interpréteur PHP (que le programme n'a pas terminé son execution), celui-ci ne termine pas la "construction" de la page, faisant patienter l'utilisateur jusqu'à ce que le programme ait terminé son execution.
J'aimerais savoir comment pallier à cet inconvénient...
J'ai essayé un truc du style system("macommande &" ); mais l'interpréteur php attends quand même la fin du programme pour continuer son execution...
Je tiens à préciser que j'utilise l'interpréteur PHP en tant que module pour apache (donc pas possible de "forker" ).
Merci pour vos réponses
++
Loudi