Salut à tous !
Voilà dans mon code PHP, j'utilise à un moment la fonction exec() afin d'éxecuter une partie du code en tâche de fond (pour que l'utilisateur puisse fermer l'application si il le souhaite). Celle ci fonctionne très bien, la voici:
exec("C:\\wamp\\bin\\php\\php5.3.0\\php C:\\wamp\\www\\V4\\rapportconsult.php $rapport");
Seulement une fois que je clique sur le bouton qui déclenche cette fonction exec(), la page PHP continue de charger(petit sablier au curseur de la souris) jusqu'à ce que le code PHP en tâche de fond ait fini de s'éxecuter. Il s'arrète si je change de page mais ça oblige l'utilisateur a faire une action, chose que mon chef veut éviter. Il aimerait que la page s'arrête immédiatement de charger.
J'ai remarqué dans le manuel PHP ceci:
Note: Si vous démarrez un programme en utilisant cette fonction et que vous voulez le laisser tourner en arrière plan, vous devez vous assurer que la sortie du programme est redirigée vers un fichier, ou un autre flux de sortie, sinon PHP attendra jusqu'à la fin de l'exécution du programme.
A mon avis ça correspond exactement à mon problème. Sous Linux il semblerait que la solution soit de rajouter "> dev/null &" à la fin dans la fonction exec().
Mais sous Windows, quelle est la solution ou l'équivalent de "> dev/null &" ?
C'est la seule chose qui me manque pour terminer le projet, et ce serait hyper chouette de votre part de m'aider !
Merci à vous.
Partager