Comment lancer un script en tache de fond avec PHP ?
Un peu comme cron mais en php, en gros que le visiteur puisse continuer sa route sans attendre que le script se termine.
Merci d'avance pour votre aide
Oui c\'est bien coté serveur que ça se passe, un calcul de stats en gros.
Bref j\'ai trouvé un truc qui fonctionne très bien:
exec (\"/usr/bin/php /home/monsite/monscript.php > /dev/null&\");
Aucune valeur ne peut être retournée avec ça mais en ce qui me concerne j\'en ai pas besoin donc ça va.
Si j\'ai bien compris, tu veux qu\'un user ouvre une page, mais que ça continue à tourner, même s\'il quitte.
T\'as la fonction, liée à la directive ignore_user_abort :
http://php.net/manual/fr/function.ignore-user-abort.php
Avec un set_time_limit à 0 ça doit le faire, après voir si tous les hébergeurs autorisent la manipulation de ces directives.
Ou alors peut-être qu\'en appelant ça en Ajax ça continue à tourner ? Vu que c\'est en asynchrone (juste de la supposition, si quelqu\'un sait :))
Ou sinon, une page chargée en AJAX non visible par l\'utilisateur. (d\'ailleurs, j\'me pose la question de savoir si ça pourrait marcher ^^)
Comme l\'a dit Hotgeart, tout dépend de ce que ton \'script\' doit faire et de ce qu\'il doit éventuellement retourner.
oui, j\'ai aucun problème avec la partie (programmation / horaire) mon script se lance très bien mais le prob c\'est qu\'on ne peut pas changer de page tant que le script a pas fini de tourner.
Désolé mais je comprends rien. Tu dis en premier lieu que tu veux faire \'comme\' un cron puis en deuxième que tu veux faire un cron. O_o
Si c\'est un cron ton utilisateur n\'a pas besoin d’accéder à cette page c\'est ton serveur qui doit l’exécuter tout seul grâce à un cycle bien définis dans ton panel.
Si tu veux que ton utilisateur lance un script sans qu\'il doit attendre ce n\'est pas possible. Mais si je devais vraiment faire ceci je le ferrai comme un bourrin. C\'est à dire que je mettrai une iframe à la fin du code html de 1*1px et que le script s\'exécuterait la dedans. Ce qui simulera une page chargée. Mais c\'est vraiment une manière de gros porc dégueulasse que je fessais dans mes pages admin :-°.
Je te dis ça car je ne vois vraiment pas ce que tu veux faire concrètement. Ton code il doit retourner une valeur à l\'user? Ou c\'est un code que l\'user doit lancer mais qu\'il s\'en fout du résult?
Le plus simple serait que tu nous explique ce que fait ton code.
Tu ne dois accéder à ce site que si tu as au moins 18 ans ou si tu as l'âge légal pour visionner ce type de matériel dans ta juridiction locale, l’âge le plus élevé étant retenu. En outre, tu déclares et garantis que tu ne permettras aucun mineur à d'accéder à ce site ou à ces services.
En accédant à ce site, tu acceptes nos conditions d'utilisation.