A voir également:
- Exécuter un script PHP en arrière plan
- Youtube en arrière plan - Guide
- Arrière plan - Guide
- Arriere plan pc - Guide
- Script vidéo youtube - Guide
- Arrière-plan messenger vidéo - Guide
1 réponse
'lut, tu peux lancer des scripts depuis une page PHP avec la fonction exec par exemple.
EDIT: en fait exec est synchrone, il faut autre chose; c.f. ce guide.
Mais il faut savoir trois choses:
Le dernier détail qui aide: si tu veux passer des paramètres/commandes au script et que ton hébergeur utilise Linux, tu peux communiquer des données en utilisant des tuyaux POSIX (créés avec posix_mkfifo et lus/écrits comme des fichiers normaux).
from human import idiocy
del idiocy
EDIT: en fait exec est synchrone, il faut autre chose; c.f. ce guide.
Mais il faut savoir trois choses:
- le script PHP de ta page doit avoir fini son traitement dans les 30 secondes qui suivent la requête du formulaire, sinon Apache tue le processus de PHP et renvoie une erreur 500 au client
- le script lancé n'est pas supervisé ni ne partage l'environnement d'Apache: tu n'auras donc pas accès aux variables
$_POST, $_GET, $_SERVER, $_COOKIE
, et tout le reste, à moins que tu ne passes leur contenu au script. - attention aux paramètres de lancement du script si ils dépendent de l'entrée utilisateur: de manière analogue aux injections SQL, si tu ne protège pas tes entrées, de mauvaises choses peuvent se passer.
Le dernier détail qui aide: si tu veux passer des paramètres/commandes au script et que ton hébergeur utilise Linux, tu peux communiquer des données en utilisant des tuyaux POSIX (créés avec posix_mkfifo et lus/écrits comme des fichiers normaux).
from human import idiocy
del idiocy
Le script que je veux lancer en arrière plan est assez lourd et a besoin de plusieurs minutes de traitement. L'Ajax ne pourrait pas faire l'affaire ?
Mais comment rediriger le visiteur vers une page et lancer un script PHP en même temps ?
Mais je n'ai pas d'exemple a te donner directement, faute de code et de connaissance des fonctions de manipulation de processus de PHP. J'ai réagi un peu tard, mais en fait exec attend la fin du script, ce n'est pas bon.
Si d'autres ont des solutions, je reste preneur.