ホームページ  >  記事  >  バックエンド開発  >  PHP がスケジュールされたタスクを実行する_PHP チュートリアル

PHP がスケジュールされたタスクを実行する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:47:09895ブラウズ

Linux ターミナルでデーモン プロセスを実装するには、crontab を使用して PHP スクリプトの実行をスケジュールできます。

crontab コマンドの機能は、特定の間隔でいくつかのコマンドの実行をスケジュールすることです。

crontabの使い方: crontab [ -e | -l | -r ] ファイル名 -e: タスクの編集 -l: タスク情報の表示 -r: 実行予定タスクの情報の削除

crontab の形式:
* * * * * コマンド
分 時 日 月 週 実行するコマンド

「*」は値の範囲内のすべての数値を表し、「/」はすべての数値を表し、「*/5」は 5 単位ごとを表し、「-」は特定の数値から特定の数値までを表し、「,」は何単位に区切るかを表します。離散的な数値。


1. crontabコマンドで直接編集

Crontab はユーザーのスケジュールされたタスクを実装できます

crontab -u //特定のユーザーの cron サービスを設定します。通常、root ユーザーはこのコマンドを実行するときにこのパラメーターが必要です

crontab -l //ユーザーの cron サービスの詳細をリストします

crontab -r //ユーザーの cron サービスを削除します

crontab -e //ユーザーの cron サービスを編集します

たとえば、root は自分の cron 設定を確認します: crontab -u root -l

別の例として、root は fred の cron 設定を削除したいと考えています: crontab -u fred -r

cron サービスを編集するときは、root ユーザーの cron 設定を編集し、crontab -u root -e と入力し、vi 編集モードに入ります。編集内容の形式は次のとおりです: * * * * * コマンド

たとえば、今すぐタスクを実行したい場合:

タスクの要件は、PHP スクリプトを 1 分ごとに実行し、実行時間を記録して result.log に保存することです。

start.php:

#!/usr/bin/php

file_put_contents('result.log','現在の実行時間:'.date("Y-m-d",time())."/r/n", FILE_APPEND);

シェル.sh:

#!/bin/sh

php start.php

ターミナル:

crontab -u root -e

#vim 編集モードに入る:

*/1 * * * * シェル.sh

:wq終了して保存します

www.2cto.com

さらに、WEB ページでは、クライアントが切断された場合 (ブラウザを閉じるなど)、PHP スクリプトは実行を継続できます。

ignore_user_abort() 関数を set_time_limit(0) および sleep($interval) とともに使用してプログラムを実装できます

ignore_user_abort(); //クライアントが切断されても (ブラウザを閉じるなど)、PHP スクリプトは実行を継続できます。 set_time_limit(0); // PHP のデフォルトの実行時間は 30 秒です。set_time_limit(0) を使用すると、プログラムを無制限に実行できます。 $interval=60*5 // 5 分ごとに実行します
する{
$fp = fopen('test.txt','a'); fwrite($fp,'テスト'); fclose($fp); sleep($interval); // 5 分間待ちます
}ながら(本当); ?>
ignore_user_abort(); //クライアントが切断されても (ブラウザを閉じるなど)、PHP スクリプトは実行を続行できます。 set_time_limit(0); //PHP の実行時間は無制限です。 set_time_limit(0) を使用すると、プログラムを無制限に実行できます。 $interval=60*5 // 5分ごとに実行します
; する{
$fp = fopen('test.txt','a');
fwrite($fp,'test');
fclose($fp);
sleep($interval); // 5 分間待ちます
}while(true);
?>

上記のページを実行して閉じるだけで、プログラムは実行を続けます。



神様のブログより抜粋

http://www.bkjia.com/PHPjc/478519.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/478519.html

Linux ターミナルでデーモン プロセスを実装するには、crontab を使用して PHP スクリプトの実行をスケジュールできます。 crontab コマンドの機能は、特定の間隔でいくつかのコマンドの実行をスケジュールすることです。 crontab は...を使用します
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。