ホームページ >バックエンド開発 >PHPチュートリアル >PHP スケジュール実行タスク/Cron ジョブ_PHP チュートリアル
PHP 自体にスケジュールされたタスクを実行するための解決策はありませんが、スリープ関数の助けを借りて実行されます。この方法では、実装プロセスなど、事前にいくつかの構成が必要です:
リーリーただし、この方法にはパフォーマンスの問題が懸念されますが、これも一時的な方法です。
私が推奨する方法は、OS 自体のスケジュールされたタスクのメカニズムを使用するスクリプト作成と、Windows 上の Bat スクリプトを使用することによって実装されます。しかし、Windowsでは試していません。次に、Linux での実装について説明します。
Web サーバーが Linux ベースの場合は、Linux で cron ジョブを使用して完了できます。 RedHat5 を例に挙げると、事前に定期的に実行されるロジック コードのみが必要です。たとえば、demo.php
リーリー次に、シェル スクリプトで php をカプセル化し、シェル スクリプト内で demo.php を呼び出します。demo.sh コードは次のとおりです。 リーリー
シェル スクリプトの作成が完了したら、この行に対して十分な権限があることを確認します (例:/bin/chmod u+x Demon.sh)。次に、Linux で cronjob を設定します。cronjob はデフォルトで Linux にインストールされます。タスクを時間、日、週、または月ごとに実行する必要がある場合は、demo.sh スクリプトを
に直接コピーできます。
/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly は問題ないので、タスクを完了できます。スケジュールされたタスクを特定の時点で削除したい場合は、上記のフォルダーから別の場所に移動するか、直接削除します。スクリプトに特別な実行時間が設定されている場合 (毎週火曜日や毎月 15 日など)。次に、独自の cron ジョブを構成する必要があります。
cron の特別な設定については、以下を参照してください: http://www.pantz.org/software/cron/croninfo.html
ここでは、午前 12 時から午後 14 時までの間、2 分ごとにこのスクリプトを実行します。構成は次のとおりです (たとえば、demo.sh は /tmp ディレクトリにあります)。
まず Linux コマンドラインで crontab -e を実行し、次にルールを入力します。
リーリー入力が完了したら、キーボードの「Esc」キーを押して「wq」と入力すると、編集ページが終了します。次に、 crontab -l を使用して、編集したばかりの cron ジョブを表示できます。
この時点で特別な cron が完成します。たとえば、Linux でデモ アカウントを使用して上記の手順を完了した場合は、/var/spool/cron/demo ファイルを直接編集する別の簡単な方法があります。
cron ジョブを変更します。例: vi /var/spool/cron/demoOS を使用してスケジュールされたタスクを管理するのは非常に高速であり、スクリプト自体に問題がない限り、パフォーマンスの問題を心配する必要はありません。この方法は保守が簡単で、スケジュールされた実行計画を変更したり、他のスケジュールされたタスクを簡単に削除したり追加したりすることもできます。
http://www.bkjia.com/PHPjc/626597.html