ホームページ バックエンド開発 PHPチュートリアル PHP_PHPチュートリアルでスケジュールされたタスクを実装する方法の詳細な説明

PHP_PHPチュートリアルでスケジュールされたタスクを実装する方法の詳細な説明

Jul 20, 2016 am 11:12 AM
php について 存在する タイミング 成し遂げる タスクを実行する 記事 方法 使用 詳しい説明

この記事では、PHP でスケジュールされたタスクを実装する方法について、PHP を直接使用して操作する方法や、オペレーティング システムのスケジュールされたタスクを使用して操作する方法など、一般的に使用される詳細な説明をまとめています。詳細を知る必要がある学生は参照してください。

各 PHP スクリプトには実行時間が制限されているため、set_time_limit によってスクリプトの実行時間を無制限に設定してから、flush() と ob_flush() を使用してサーバー バッファをクリアし、任意の時点でスクリプトの戻り値を出力する必要があります。時間。 実行すると、5 秒ごとに Hello World

の行が取得されます。 コードは次のとおりです コードをコピー

header("Content-Type: text/plain");
set_time_limit( 0) ;

$infoString = "Hello World" . "n";
while( isset($infoString) )
{
echo $infoString;
flush();
ob_flush();
sleep(5);
}

コードは次のとおりです コードをコピーします

ignore_user_abort();
set_time_limit(0) ); // 実行時間は無制限です. PHP のデフォルトの実行時間は 30 秒です。 set_time_limit(0) を使用すると、プログラムは無制限に実行できます。
$ key_file="key.txt"; // 設定ファイル
if (isset($_GET['s']))
{
if ($_GET['s']=="0"){ // 作業を停止しますが、終了しないでください
$s ="false";
echo "機能がオフです" }
elseif ($_GET['s']=="1"){ $s="false"; echo "機能がオンです"
}
elseif ($_GET['s']=="2"){ // 終了
$s="die";
echo "関数が終了しました" }
else
die ("エラー 0: 動作停止 1: 動作 2 :exit");
$string = "";
write_inc($key_file,$string, true);
exit();
}
if(file_exists($key_file)){
do{
$mkey = include $key_file;
if ($mkey=="true"){ // うまくいく場合
// ///////// ////////// 作業エリア ////////////////////////////// ////// s $ ショータイム = 日付 ("Y-M-D H: I: S")
$ fp = FOPEN ('Func.txt', 'A'); //////////////// ///////////
}
elseif ($mkey=="die"){ // 終了する場合
die("私は死にます!")
}
sleep($interval); / $interval 分間待ちます
}while(true);
}
else
die($key_file." が存在しません !")
function write_inc ($path,$strings,$type=false); $path=dirname(__FILE__)."/".$path;
if ($type==false)
file_put_contents($path,$strings,FILE_APPEND)
else
file_put_contents($path,$strings);
?>



個人的には、PHP でタスクを定期的に実行するのはまだ少し複雑で使いにくいと感じています。次に、オペレーティング システムでスケジュールされたタスクを実装する方法を紹介します。

Windows で PHP スケジュールされたタスクを実行するいくつかの方法をインターネットで検索しました。そのうちの 1 つは非常に包括的なものでしたが、残念ながら私の場合はうまくいきませんでした。結局、ここでうまく運営するには、さまざまな宗派の方法を組み合わせる必要がありました。

1. test.php という名前の PHP プログラムを作成します。内容は次のとおりです:

コードは次のとおりです コードをコピーします

$fp = fopen(" test.txt" , "a+");

fwrite($fp, date("Y-m-d H:i:s") . " 成功しました! n");

fclose($fp);

?>

プログラムを大胆に記述します。任意の includerequire を使用します。問題ありません。 2. test.bat という名前の新しい Bat ファイルを作成します。内容は次のとおりです。


コードは次のとおりです D: phpphp.exe -q D:websitetest.php//対応するディレクトリを自分で変更します
コードをコピーします

3. WINDOWS のスケジュールされたタスクを作成します。タスク スケジュール –>タスク スケジュールの追加

フォルダーを参照し、上記のバット ファイルを選択します 時間とパスワードを設定します (WINDOWS にログインします)

保存します。
4. 以上です! スケジュールされたタスクを右クリックし、[実行] をクリックして試してください

Linux システム


では、Linux Crontab ツールを使用して、PHP 実行タスクを安定して確実にトリガーできます。

Crontabの2つの方法を以下に紹介します。


1. PHP を使用して Crontab でスクリプトを実行する
Crontab で通常のシェル スクリプトを呼び出すのと同じように (Crontab の特定の使用法)、PHP プログラムを使用して PHP スクリプトを呼び出します。

次のように myscript.php を 1 時間ごとに実行します:


1.

コードは次のとおりですコードをコピーします# crontab -e2.00 * * * * /usr/local/bin/php /home/john /myscript.php/usr/local/bin/php2. URL を使用して Crontab でスクリプトを実行する


は、PHP プログラムのパスです。
PHP スクリプトを URL によってトリガーできる場合は、lynx、curl、または wget を使用して Crontab を構成できます。

以下の例は、Lynx テキスト ブラウザを使用して URL にアクセスし、PHP スクリプトを 1 時間ごとに実行します。 Lynx テキスト ブラウザは、デフォルトで会話モードを使用して URL を開きます。ただし、以下に示すように、lynx コマンド ラインで -dump オプションを使用して、URL 出力を標準出力に変換します。



コードは次のとおりです

コードをコピーします
1.00 * * * * lynx -dump /myscript.php

次の例は、CURL を使用して URL にアクセスし、PHP スクリプトを実行します。 5分ごと。 Curl は、デフォルトで出力を標準出力に表示します。 「curl -o」オプションを使用して、スクリプトの出力を一時ファイルにダンプすることもできます。

コードは次のとおりです

コードをコピーします
1.*/5 * * * * /usr/bin/curl -o temp.txt /myscript.php

以下の例は、WGET を使用して URL にアクセスし、10 分ごとに PHP スクリプトを実行します。 -q オプションは、Quiet モードを示します。 「-O temp.txt」は、出力が一時ファイルに送信されることを意味します。

コードは次のとおりです コードをコピー

1.*/10 * * * * /usr/bin/wget -q -O temp.txt /myscript.php


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/444599.html技術記事この記事では、PHP でスケジュールされたタスクを実装する方法について、一般的に使用される詳細な説明をまとめています。これには、PHP を直接使用して操作する方法や、オペレーティング システムのスケジュールされたタスクを使用して操作する方法も含まれます。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

See all articles