Les méthodes permettant à PHP d'implémenter les tâches planifiées sont : 1. Utilisez la crontab sous le système Linux pour implémenter ; 2. Utilisez la fonction ignore_user_abort pour implémenter ; 3. Utilisez la fonction file_get_contents pour implémenter.
1. Tâches planifiées du serveur
Les tâches planifiées du serveur sont en fait sous crontab des systèmes Unix. implémentation, paramètres spécifiques : tâche planifiée Linux crontab cependant, en plus de lire directement les scripts PHP régulièrement, nous pouvons également utiliser des appels d'interface planifiés.
(Recommandation vidéo d'apprentissage : tutoriel vidéo Java)
Lors de l'exécution du script :
*/1 * * * * php /data/www/cron.php Exécuter cron.php toutes les minutes
Appel de méthode URL :
Méthode lynx : */1 * * * * lynx -dump http://www . xxxxxxx.com/cron.php (option -dump pour convertir la sortie URL en sortie standard)
méthode curl : */1 * * * * /usr/bin/curl -o temp.txt http : //www.xxxxxxx.com/cron.php (Curl affiche la sortie sur la sortie standard par défaut. Utilisez l'option "curl -o" pour vider la sortie du script dans le fichier temporaire temp.txt)
Méthode wget : */1 * * * * /usr/bin/wget -q -O temp.txt http://www.xxxxxxx.com/cron.php (l'option q indique le mode silencieux. "-O temp.txt " indique que la sortie sera envoyée à un fichier temporaire.)
La méthode ci-dessus consiste à placer le script php dans une adresse accessible par URL, telle que http://www.xxxxxx.com/ cron.php et appelez régulièrement la tâche déclencheur.
2. Méthode ignore_user_abort()
La fonction ignore_user_abort() définit si la déconnexion du client mettra fin à l'exécution du script.
Utilisez d'abord un fichier cron.php pour contrôler la fin du script. Le contenu de cron.php est :
<?php return 1; ?>
Le fichier php du script est :
<?php ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行. set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去 $interval=60*30;// 每隔半小时运行 do{ $run = include 'config.php'; if(!$run) die('process abort'); //return 0 时, 终止 //TODO 该干啥干啥 sleep($interval);// 等待5分钟 } while(true);
By. changer le cron.php renvoie 0 pour arrêter le programme. Mais cette méthode n’est pas bonne pour la gestion de la mémoire.
3. La méthode file_get_contents()
<?php $time=15; $url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; //TODO sleep($time); file_get_contents($url); ?>
le script php sleep continuera à s'exécuter après un certain temps en accédant à lui-même, afin de garantir que le temps d'exécution de chaque script PHP ne sera pas trop long et ne sera pas affecté par la limite time_out. Parce que chaque boucle du fichier php est exécutée indépendamment, cette méthode évite la limite time_out. Mais il est préférable d'ajouter le code de contrôle cron.php comme ci-dessus afin que le processus puisse être terminé.
Recommandations associées : formation php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!