Cet article présente principalement la méthode d'exécution planifiée de PHP. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
Trois façons d'implémenter l'exécution planifiée PHP
1. Tâches planifiées Windows
2. Script Linux
3. Laissez le navigateur Web s'actualiser régulièrement
Mise en œuvre concrète
1. PHP fonctionne rarement sur des serveurs Win, et l'implémentation spécifique ne sera pas étudiée en détail. Le principe de l'implémentation en ligne est probablement d'écrire un script bat, puis de laisser la tâche window ajouter et exécuter le script bat.
La commande crontab est principalement utilisée ici
Méthode d'utilisation : Le code est le suivant :
crontab est utilisé pour autoriser les utilisateurs pour exécuter des programmes à une heure ou à des intervalles fixes
Utilisez crontab pour écrire un script shell, puis laissez PHP appeler le shell. Cela utilise les caractéristiques de Linux et ne doit pas être considéré comme les caractéristiques de PHP. propre langage3. PHP implémente l'exécution planifiée des tâches planifiées
L'utilisation de PHP pour actualiser le navigateur nécessite de résoudre plusieurs problèmesDélai d'exécution du script PHP, la valeur par défaut est de 30 min Solution : set_time_limit( ); ou modifier les paramètres PHP.ini max_execution_time time (non recommandé) Si le navigateur client est fermé, le programme peut être forcé de se terminer Solution : ignore_user_abort s'exécutera toujours normalement même si la page est fermée Si le programme est fermé. Le programme continue de s'exécuter, il est susceptible de consommer beaucoup de ressources. Solution La méthode consiste à utiliser sleep pour dormir pendant un moment, puis à exécuter le code de
exécution planifiée PHP :
Lors des tests, nous avons constaté que l’efficacité n’est pas très élevée.
<?php ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行. set_time_limit(3000);// 通过set_time_limit(0)可以让程序无限制的执行下去 $interval=5;// 每隔5s运行 //方法1--死循环 do{ echo '测试'.time().'<br/>'; sleep($interval);// 等待5s }while(true); //方法2---sleep 定时执行 require_once './curlClass.php';//引入文件 $curl = new httpCurl();//实例化 $stime = $curl->getmicrotime(); for($i=0;$i<=10;$i++){ echo '测试'.time().'<br/>'; sleep($interval);// 等待5s } ob_flush(); flush(); $etime = $curl->getmicrotime(); echo '<hr>'; echo round(($etime-stime),4);//程序执行时间
Résumé : Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.
Recommandations associées :Explication détaillée des exemples renvoyés par les références des fonctions d'implémentation PHP
Tutoriel d'introduction PHP partage d'exemples de compétences en traitement d'image
Tutoriel d'introduction PHP avec explication détaillée des concepts et exemples de base orientés objet
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!