1 votes

exécuter le script de php en arrière-plan

Existe-t-il un moyen de lancer un script php et de le laisser s'exécuter sur le serveur jusqu'à ce qu'il se termine ?

J'utilise ceci

php5-cgi /var/www/script.php -q &

Connexion via Putty. Lorsque je la ferme (la session), le script s'arrête ! Pourquoi son exécution dépend-elle de la session ?

2voto

jowi Points 111

Essayez nohup et disown :

nohup php5-cgi /var/www/script.php -q &
disown

0 votes

Le nohup est redondant quand on utilise disown.

2voto

cjc Points 24265

Si screen est disponible, utilisez que . Il suffit de lancer un écran, d'y exécuter votre commande, de détacher l'écran et de poursuivre votre chemin.

1voto

andrekeller Points 479

C'est parce que votre processus n'est pas découplé du signal de suspension. Utilisez plutôt ce qui suit.

nohup php5-cgi /var/www/script.php -q 

Vous pouvez également utiliser un multiplexeur de terminal comme screen o tmux si vous voulez pouvoir revenir à la sortie du script...

1voto

user146020 Points 61

Gardez également à l'esprit que PHP dispose d'un script limite de temps après laquelle il terminera automatiquement l'exécution du script. Vous pouvez modifier le max_execution_time dans votre /etc/php5/cli/php.ini (la valeur par défaut est de 30 secondes).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X