Linux では PHP が計画タスクを簡単に実装できるのに対し、Windows プラットフォームでの PHP 計画タスクの実装はより複雑であることがわかっています。PHP 計画タスクの実装は、PHP WEB 開発で非常に役立ちます。スケジュールされた Mysql データベースのバックアップ、キャッシュの更新、データ収集、静的ページの定期的な生成およびその他のタスク。 PHPのignore_user_abort関数は、クライアントが中断された後(ブラウザを閉じるなど)にタスクを実行し続ける機能を実装できます。 PHP のignore_user_abort 関数を使用して PHP スケジュールされたタスクを実装するコード例を見てみましょう。
PHP スケジュールされたタスクのサンプルコード
PHP コード コンテンツをクリップボードにコピー
PHP スケジュールされたタスクの例の説明: 上記のコードの主な機能は、PHP ファイル書き込み操作を通じて 15 秒ごとにファイルにテキストを自動的に書き込むことであり、ユーザーがブラウザを閉じた後も実行は継続されます。
行 2: まず、php のignore_user_abort 関数を実行して、ユーザーの放棄動作を無視して実行を続行するようにシステムに指示します。PHP のデフォルトでは、リモート クライアント接続が中断されたときにスクリプトが終了します。 phpのignore_user_abort関数を使用して、ユーザーの中断動作を無視してPHPコードの実行を継続するかどうかを制御します。
知識ポイント:ignore_user_abort(setting) 設定はオプションです。 true に設定すると、ユーザーからの切断は無視されます。false に設定すると、スクリプトの実行が停止します。このパラメータが設定されていない場合は、現在の設定が返されます。
3 行目: PHP スクリプトの実行時間を制限しません。デフォルトの PHP スクリプトの実行には時間制限があることがわかっています。これは通常、PHP.INI 設定ファイルの max_execution_time オプションによって設定されます。特定の時間を 0 に設定すると、時間制限がないことを意味します。
4行目: 特定の間隔を秒単位で設定します。
5〜21行目:主にPHPファイルの書き込み操作を中断することなく一定間隔で実行します。
PHP のスケジュールされたタスクに関する注意: ブラウザーでこの PHP コードを実行した後、WEB サーバーが中断されたり、システムがシャットダウンされたりしない限り、バックグラウンドでは常にこのコードが設定された間隔で実行されます。
この時点で、PHPのignore_user_abort関数によるPHPのスケジュールされたタスク関数の実装に関する実践的なチュートリアルが紹介されました。この例の実装原理を理解することで、スケジュールされたデータベースのバックアップやスケジュールされた静的ページなどの機能を実装する方法を知ることができます。の多くの PHP ブログの世代。
ignore_user_abort() を使用して、ブラウザを閉じた後も php ファイルを実行できるようにします。
もちろん、プログラムを実行し続けたい場合は、 set_time_limit(0); を追加する必要があります
Linux では、より簡単な方法があり、それが crontab コマンドです
crontab コマンドの機能は、スケジュールを設定することです一定の時間間隔でいくつかのコマンドを実行します。
crontabの使い方: crontab [-e | -l | -r ] ファイル名 -e: タスクの編集 -l: タスク情報の表示 -r: 実行予定タスクの情報の削除
crontabの書式:
* * * * * コマンド
時間、日、月、週ごとに実行されるコマンド
crontab の例:
*/5 * * * * lynx http://www.php100.com
www.php100.com にアクセスしてください5 分ごと
0 8 * * * lynx http://www.php100.com
毎日午前 8 時に www.php100.com にアクセスしてください
0 10 6 * 1-5 lynx http://www.php100 .com
毎月 6 日と毎週月曜日から金曜日の午前 10 時に www.php100.com にアクセスしてください
0 5 7 8 * lynx http://www.php100.com
8 月 7 日午前 5 時にクリックして www にアクセスしてください.php100.com
上記にはいくつかの特別な意味があります:
「*」は値の範囲内のすべての数値を表し、「/」はすべてを表し、「*/5」は 5 単位ごとを表し、「-」は特定の数値から特定の数値までを表し、「,」は複数の離散的な数値を表します。