Dieser Artikel stellt die Methode zur Verwendung von ThinkPHP zur Implementierung geplanter Aufgaben vor und die Methode zur Verwendung von Cron zur Implementierung geplanter Aufgaben. Ich hoffe, dass er für Freunde hilfreich sein wird, die thinkphp lernen 🎜>
ThinkPHP-Implementierung geplanter Aufgaben
Eine häufige geplante Aufgabe ist die geplante Crontab-Aufgabe in Linux. Sie wird durch das Schreiben eines Skripts ausgeführt und ausgeführt in einer Schleife im Hintergrund. Aber manchmal haben wir keine Serverberechtigungen oder keinen unabhängigen Server. Was sollen wir also tun? Tatsächlich gibt es eine andere Art von passiven geplanten Aufgaben, die ausgelöst werden, solange auf das Projekt zugegriffen wird. Passive geplante Aufgaben werden im Allgemeinen für virtuelle Hosts verwendet, da wir sie ohne Serverberechtigungen nur über Code implementieren können. Nehmen wir thinkPHP als Beispiel, um den Unterschied zwischen diesen beiden geplanten Aufgaben zu analysieren. (Empfohlenes Tutorial:
thinkphp-Tutorial)
①, tags.phpErstellen Sie eine neue Datei „tags.php“ im Verzeichnis /Application/Common/Conf. (Dies ist das Gleiche wie Methode 1)
<?php return array( //'配置项'=>'配置值' 'app_begin' =>array('Behavior\CronRunBehavior'), );
②, crons.php
Erstellen Sie eine neue crons.php-Datei im Verzeichnis /Application/Common/Conf. (Dies unterscheidet sich von Methode 1, bitte achten Sie auf den Unterschied.)
<?php return array( //myplan为我们计划定时执行的方法文件,2是间隔时间,nextruntime下次执行时间 //此文件位于/Application/Cron/目录下 'cron' => array('myplan', 2, nextruntime), );
③, myplan.php
Erstellen Sie einen neuen Cron-Ordner im Verzeichnis /Application/Common/ und erstellen Sie eine neue Datei myplan.php darin.
<?php echo date("Y-m-d H:i:s")."执行定时任务!" . "\r\n<br>";
An diesem Punkt können wir auf die URL des Projekts zugreifen und dann feststellen, dass die Datei ~crons.php im Verzeichnis Application/Runtime/ generiert wird und die Seite wie folgt angezeigt wird Der Dateiinhalt lautet wie folgt:
<?php return array ( 'cron' => array ( 0 => 'myplan', 1 => 2, 2 => 1502089802, ), ); ?>
Aktive geplante Aufgaben
①, melden Sie sich beim Linux-Server an [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
<?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;
③, Hintergrundüberwachung test.txt-Datei
[root@iZwz924w5t4862mn4tgcyqZ ~]# tail -f /data/wwwroot/door/test.txt
php Video-Tutorial)
Das obige ist der detaillierte Inhalt vonThinkPHP-Implementierung geplanter Aufgaben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!