Dieser Artikel führt Sie in den Inhalt geplanter PHP-Aufgaben ein. Ich hoffe, er wird Ihnen hilfreich sein!
(1) Das Programm muss nur einmal gestartet werden, nachdem die geplanten Aufgaben festgelegt wurden, und dann läuft das Programm weiter, bis der Server neu gestartet wird
(2) Wenn es wiederholt ausgeführt wird, ist es möglicherweise nicht das gewünschte Ergebnis. In diesem Fall werden mehrere identische geplante Aufgaben gestartet
(3) Wenn jede Seite diese Seite enthält, werden mehrere dauerhaft ausgeführt Programme werden gestartet und verbrauchen unnötige Systemressourcen.
wirkt sich auch auf den normalen Zugriff auf die Seite aus. Wenn sie im Vordergrund steht, wartet die Seite beim Zugriff immer auf die Rückkehr (das ist eine Endlosschleife).
<?php ignore_user_abort(true); //即使Client断开(如关掉浏览器),PHP脚本也可以继续执行. set_time_limit(0); // 执行时间为无限制,php默认的执行时间是30秒,通过set_time_limit(0)可以让程序无限制的执行下去 $interval=60*5; // 每隔5分钟运行 $f = 'lock.txt'; if(file_exists($f)){ //判断标记文件是否存在,存在就退出,防止重复运行 exit(); } do{ if(@get_file_contents($f) == 'stop'){ //设置停止条件, 停止的时候只要向 lock.txt 写入 stop break; } @file_put_contents($f,'run');//重复写入一个文件,标志已经运行计划任务 ....省略任务代码 sleep($interval);//程序暂停5分钟 }while(true); @unlock($f); //删除标记文件 ?>
Dies ist nur eine Möglichkeit, es mit Code zu implementieren. Eine andere Möglichkeit besteht darin, den PHP-CLI-Modus zu verwenden, um geplante Aufgaben zu implementieren.
Verwenden Sie beispielsweise run->cmd
, um php.exe unter dem Fenster auszuführen, drücken Sie dann AT und geben Sie entsprechend den Anforderungen ein.
Verschiedene Systeme haben unterschiedliche Methoden, und Linux ist unterschiedlich.
Es wurde nicht konkret umgesetzt, ist aber durchaus möglich.