Cet article présente la méthode d'utilisation de ThinkPHP pour implémenter les tâches planifiées et la méthode d'utilisation de cron pour implémenter les tâches planifiées. J'espère qu'il sera utile aux amis qui apprennent thinkphp ! 🎜>
Implémentation ThinkPHP des tâches planifiées
Une tâche planifiée courante est la tâche planifiée crontab sous Linux. Elle est exécutée en écrivant un script, et elle sera exécutée. en boucle en arrière-plan. Mais parfois, nous n’avons pas d’autorisations de serveur ou nous n’avons pas de serveur indépendant, alors que devons-nous faire ? En fait, il existe un autre type de tâches planifiées qui sont passives, qui seront déclenchées tant que l'on accède au projet. Les tâches planifiées passives sont généralement utilisées pour les hôtes virtuels, car sans autorisations du serveur, nous ne pouvons les implémenter que via du code. Prenons thinkPHP comme exemple pour analyser la différence entre ces deux tâches planifiées. (Tutoriel recommandé :
tutoriel thinkphp)
①, tags.phpCréez un nouveau fichier tags.php dans le répertoire /Application/Common/Conf. (C'est la même chose que la méthode 1)
<?php return array( //'配置项'=>'配置值' 'app_begin' =>array('Behavior\CronRunBehavior'), );
②, crons.php
Créez un nouveau fichier crons.php dans le répertoire /Application/Common/Conf. (Ceci est différent de la méthode 1, veuillez faire attention à la distinction.)
<?php return array( //myplan为我们计划定时执行的方法文件,2是间隔时间,nextruntime下次执行时间 //此文件位于/Application/Cron/目录下 'cron' => array('myplan', 2, nextruntime), );
③, myplan.php
Créez un nouveau dossier Cron dans le répertoire /Application/Common/ et créez un nouveau fichier myplan.php dedans.
<?php echo date("Y-m-d H:i:s")."执行定时任务!" . "\r\n<br>";
À ce stade, nous pouvons accéder à l'url du projet, puis nous constaterons que le fichier ~crons.php est généré dans le répertoire Application/Runtime/, et la page apparaîtra comme suit. le contenu du fichier est le suivant :
<?php return array ( 'cron' => array ( 0 => 'myplan', 1 => 2, 2 => 1502089802, ), ); ?>
Tâche planifiée active
①, connectez-vous au serveur Linux [root@iZwz924w5t4862mn4tgcyqZ ~]# crontab -e
*/1 * * * * /usr/local/php/bin/php /data/wwwroot/door/test.php//执行PHP文件
*/1 * * * * /usr/bin/curl http://www.100txy.com/wechatapi.php//访问url
②, éditez test.php
<?php $txt = "/data/wwwroot/door/test.txt"; // die(var_dump($txt)); $date=date('Y-m-d H:i:s',time()); $content = file_get_contents($txt); if($content!=''){ $arr=explode('#',$content); $num=$arr['1']+1; $string=$date.'#'.$num; }else{ $string=$date.'#'.'1'; } file_put_contents($txt,$string); $content_last = file_get_contents($txt); return $content_last;
③, surveillance en arrière-plan du fichier test.txt
[root@iZwz924w5t4862mn4tgcyqZ ~]# tail -f /data/wwwroot/door/test.txt(partage gratuit de tutoriel vidéo d'apprentissage :
php tutoriel vidéo)
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!