この記事ではPHPのスケジュールタスクの内容を紹介しますので、お役に立てれば幸いです。
(1) スケジュールされたタスクを設定した後、プログラムを一度起動するだけで、その後はサーバーが再起動されるまでプログラムは実行され続けます
(2) 繰り返し実行される場合、プログラムが正しく実行されない可能性があります。望む結果、その場合は開始されます 複数の同じスケジュールされたタスク
(3) 各ページにこのページが含まれている場合、複数の永続的に実行されるプログラムが開始され、不必要なシステム リソースを消費し、
、ページの通常のアクセスにも影響します、front に配置すると、ページはアクセス時に常に待機状態になります (つまり、無限ループになります)
<?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); //删除标记文件 ?>
これは、コードで実装する 1 つの方法にすぎません。別の方法は、Php cli モードを使用して実装することです。スケジュールされたタスク
たとえば、ウィンドウの下で Run->cmd
を使用して php.exe を実行し、AT を押して、要件に応じて Enter キーを押します。システムごとに異なる方法があり、Linux も異なります。
具体的には実装されていませんが、間違いなく可能です。