Heim >Backend-Entwicklung >PHP-Tutorial >Wie implementiert man geplante Aufgaben in PHP?
Wir haben Ihnen das Implementierungsprinzip von PHP-geplanten Aufgaben in unserem vorherigen Artikel vorgestellt. Ich glaube, dass jeder das Prinzip von PHP-geplanten Aufgaben versteht, deshalb werden wir Ihnen heute weiterhin PHP-Anleitungen vorstellen Geplante Aufgaben umsetzen!
Kursempfehlung: „PHP Online-Schulungskurs“
1. Windows-Planaufgaben
1. Schreiben Sie ein PHP-Programm mit dem Namen test.php
und dem folgenden Inhalt:
<? $fp = fopen("test.txt", "a+"); fwrite($fp, date("Y-m-d H:i:s") . " 成功成功了!\n"); fclose($fp); ?>
Schreiben Sie das Programm mutig, Sie können jedes beliebige includerequire verwenden, kein Problem
2. Erstellen Sie eine neue Bat
-Datei mit dem Namen test.bat. Der Inhalt lautet wie folgt:
D:\php\php.exe -q D:\website\test.php
3. Erstellen Sie geplante WINDOWS-Aufgaben:
Start–>Systemsteuerung–>Aufgabenplan–>Aufgabenplan hinzufügen
Durchsuchen Wählen Sie die bat
-Datei oben im Ordner aus
Legen Sie die Uhrzeit und das Passwort fest (Anmeldung bei WINDOWS)
Speichern Sie sie.
4. Sie können mit der rechten Maustaste auf die geplante Aufgabe klicken und auf „Ausführen“ klicken.
2. In ist die Verwendung von PHP zum Ausführen von Skripten
genauso wie der Aufruf eines gewöhnlichen Shell-Skripts in Crontab (spezifische Crontab-Verwendung), wobei ein PHP-Programm zum Aufrufen von PHP-Skripten verwendet wird. Crontab
stündlich wie folgt ausgeführt:
myscript.php
# crontab -e 00 * * * * /usr/local/bin/php /home/john/myscript.php
für PHP Der Pfad des Programms.
/usr/local/bin/php
2. Verwenden Sie eine URL, um Skripte in Crontab auszuführen.
Wenn Ihr PHP-Skript per URL ausgelöst werden kann, können Sie lynx oder curl oder wget verwenden, um Ihr Crontab zu konfigurieren.
Das folgende Beispiel verwendet den Lynx-Textbrowser, um auf eine URL zuzugreifen, um stündlich ein PHP-Skript auszuführen. Der Lynx-Textbrowser verwendet standardmäßig den Konversationsmodus zum Öffnen von URLs. Wie unten gezeigt, verwende ich jedoch die Optionin der Lynx-Befehlszeile, um die URL-Ausgabe in die Standardausgabe umzuwandeln.
-dump
00 * * * * lynx -dump http: //www.centos.bz/myscript.php
Im folgenden Beispiel wird mit CURL auf die URL zugegriffen, um alle 5 Minuten ein PHP-Skript auszuführen. Curl zeigt die Ausgabe standardmäßig auf der Standardausgabe an. Sie können die Ausgabe des Skripts auch mit der Option „curl -o“ in eine temporäre Datei sichern.
Das folgende Beispiel verwendet WGET, um alle 10 Minuten auf die URL zuzugreifen, um ein PHP-Skript auszuführen. Die Option -q gibt den Ruhemodus an. „-O temp.txt“ bedeutet, dass die Ausgabe an eine temporäre Datei gesendet wird
*/5 * * * * /usr/bin/curl -o temp.txt http: //www.centos.bz/myscript.php
*/10 * * * * /usr/bin/wget -q -O temp.txt http: //www.centos.bz/myscript.php
🎜 Zeit (nicht empfohlen)
Auch wenn die Seite geschlossen ist, wird sie trotzdem ausgeführt Normalerweise
30m
3. Wenn das Programm ständig ausgeführt wird, verbraucht es wahrscheinlich viele Ressourcen. Die Lösung besteht darin, das Programm für eine Weile in den Ruhezustand zu versetzen und es dann auszuführen der geplante PHP-Ausführungscode set_time_limit();
max_execution_time
ignore_user_abort
Beim Testen haben wir festgestellt, dass diese Effizienz nicht sehr hoch ist
Zusammenfassung: sleep
Dieser Artikel wird durch geplante Windows-Aufgaben, Linux-Skripte und Beispiele für die Ausführung geplanter PHP-Aufgaben implementiert, damit Freunde die geplante Ausführung von PHP-Aufgaben besser verstehen können. Ich hoffe, dass er für Sie hilfreich ist!
<?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);//程序执行时间
Verwandte Empfehlungen:
Prinzipielle Analyse der PHP-Implementierung geplanter Aufgaben
PHP-geplante Aufgaben und kontinuierliche Prozesse (fsockopen) Instanz
php geplante Aufgabe Benutzerverbindungsstatus erkennen
Das obige ist der detaillierte Inhalt vonWie implementiert man geplante Aufgaben in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!