PHP はこの点では比較的弱いと言えます。PHP のみを使用して実装する場合は、次のように実装できます。
<?php ignore_user_abort();//关闭浏览器后,继续执行php代码 set_time_limit(0);//程序执行时间无限制 $sleep_time = 1;//多长时间执行一次 do{ $fp = fopen('test.txt','a+'); fwrite($fp,"这是一个php博客:phpddt.com \n"); fclose($fp); sleep($sleep_time); }while(true); ?>
しかし、スクリプトを実行すると、ブラウザを閉じても実装できません。プログラムをまったく停止しないので、スクリプトを実行するにはスイッチが必要です。 while ループ中にスイッチ変数を含めるだけで実装できます。次に、次のように実現できます:
次の内容で外部インポート変数ファイル switch.php を作成します:
<?php return 1;//1执行脚本 0退出执行脚本 ?>
改良されたスクリプトは次のとおりです:
<?php ignore_user_abort();//关闭浏览器后,继续执行php代码 set_time_limit(0);//程序执行时间无限制 $sleep_time = 5;//多长时间执行一次 $switch = include 'switch.php'; while($switch){ $switch = include 'switch.php'; $fp = fopen('test.txt','a+'); fwrite($fp,"这是一个php博客:phpddt.com $switch \n"); fclose($fp); sleep($sleep_time); } exit(); ?>
このスクリプトはテストのみに使用できます。ランプの場合、比効率は高くてはいけません。これは crontab を使用して実現できます。
小さなコードを追加します:
ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行. set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去 $interval=60*30;// 每隔半小时运行 do{ //这里是你要执行的代码 sleep($interval);// 等待5分钟 }while(true);
これは、PHP スケジュール実行タスクの実装に関するものです。後で共有する関連記事もありますのでお見逃しなく。
上記では、PHP でスケジュールされたタスクを実装する方法について、さまざまな側面を含めて詳しく説明しました。PHP チュートリアルに興味のある友人に役立つことを願っています。