ホームページ  >  記事  >  バックエンド開発  >  PHP は、Windows タスクのスケジュールされた実行のためのコードと拡張機能を実装します (図)

PHP は、Windows タスクのスケジュールされた実行のためのコードと拡張機能を実装します (図)

黄舟
黄舟オリジナル
2017-11-14 10:07:242398ブラウズ

タスク計画は、日々の作業開発に非常に役立ちます。プロジェクトでは、ライブラリへの大量のデータ更新 データの挿入 が必要になる場合があります。その場合、リソースを節約するために、スケジュールされた期間で自動計算を実行する必要があります。その理由は、PHP でスケジュールされたタスクを実装する必要があるため、今日は Windows タスク プランのスケジュールされた実行を実装するための PHP を紹介します。

さらに、この同様の問題の解決策をインターネットで探したところ、PHPのignore_user_abort()関数を使用することもできます。この関数は、PHP公式Webサイトでは次のように紹介されています


int ignore_user_abort ([ string $value ] )

。切断時にクライアントが切断されるかどうか PHP がコマンド ライン スクリプトとして実行される場合、スクリプト ターミナルが終了しても、値が TRUE に設定されていない限り、スクリプトはすぐに終了されません。文字を出力すると終了します。

私の個人的な理解では、ブラウザ経由ではなくコマンドライン経由で実行された場合、この関数のコード ブロックは実行を継続します。このブログ投稿には、この関数の具体的な実装プロセスが記載されています。

以下はテスト用の例です。

Windows バッチ

ファイルを処理する

新しいテキスト ドキュメントを作成し、次のコードを記述して、.bat ファイルとして保存します。

E:
"E:\PHP\wamp\bin\php\php5.5.12\php.exe" -f "E:\PHP\wamp\www\write.php"

PHP動作モード

通常、PHPコードの実行はサーバーにリクエストを行うブラウザを通じて実行されます。この動作モードはモジュールモードと呼ばれます。 モジュールモードは mod_php5 モジュールの形で統合されています。このとき、mod_php5 モジュールの機能は、Apache から渡された PHP ファイルリクエストを受け取り、それらのリクエストを処理し、処理結果を Apache に返すことです。 Apache が起動する前に

設定ファイルで PHP モジュール (mod_php5) を設定すると、PHP モジュールは apache2 の ap_hook_post_config フックを登録し、Apache が PHP ファイルに対するリクエストの受け入れを開始したときにこのモジュールを起動します。

php.exe を使用して実行する場合は、CLI モードになります。このブログ投稿では、PHP の 4 つの動作モードについて詳しく説明します。

php.exe

PHPコマンドライン実行プログラムphp.exeは非常に強力です。

Windows環境システム変数パスの値を設定することで、DOSウィンドウインターフェースでPHPスクリプトファイルを直接実行できます。 . この記事には具体的な設定方法が記載されています。

ここでの php.exe は、php インストール ディレクトリにある 3 つの php 関連の exe ファイルの 1 つです。php-cgi.exe と php-win.exe

php-cgi.exe は、通常、CGI 用に提供されています。 Windows 環境で CGI を介して php スクリプトを解析するために使用され、iis で php ウェブサイトを実行するためによく使用されます。違いは、ファイルがすべてのコンテンツを出力する前に、次の HTTP ヘッダーが自動的に出力されることです

X-Powered-By: PHP/5.2.5Content-type: text/html

php-win。 exe PHP ファイルを実行することもできます。違いは、コンソールが開かれ、出力内容が表示されないことです。 ファイル処理、ネットワーク サービス、およびディスプレイ インターフェイスを必要としないその他のプログラムの作成に使用できます。

PHP 実行コード

<?php$fp = @fopen("E:/PHP/wamp/www/test.txt", "a+");fwrite($fp, "自动播报时间:\n" . date("Y-m-d H:i:s"));fclose($fp);

ここでのファイル パスは、

絶対パスである必要があります。これは、$_SERVER など、使用できない一部のサーバーベースの変数を除き、Apache や iis などのサーバーを経由しないためです。 . 、さまざまな予期せぬエラーが発生する可能性が非常に高いです。

タスク プランを作成します

Baidu では一度に大量のタスクを作成できます

スタート –「アクセサリ」 –「システム ツール」 –「タスク スケジューラ」をダブルクリックしてタスクを作成します

作成します。名前を付けて実行権限を設定します
PHP は、Windows タスクのスケジュールされた実行のためのコードと拡張機能を実装します (図)
開始時刻と繰り返しタスクの間隔を設定します
PHP は、Windows タスクのスケジュールされた実行のためのコードと拡張機能を実装します (図)
書かれたスクリプトのパスを選択します
PHP は、Windows タスクのスケジュールされた実行のためのコードと拡張機能を実装します (図)
これでタスクスケジューラが作成されました
実行の効果は次のとおりですPHP は、Windows タスクのスケジュールされた実行のためのコードと拡張機能を実装します (図)


PHP は、Windows タスクのスケジュールされた実行のためのコードと拡張機能を実装します (図)

概要:

多くの友人が PHP を使用して Windows タスク プランを実装する方法を知っていると思います。それがあなたの仕事に役立つことを願っています。

関連するおすすめ:

PHPのスケジュールされたタスクのサンプルコード共有


PHPはスケジュールされたタスクのスケジュールされた実行をどのように実装しますか?


計画されたタスクのPHP実装の原理分析

以上がPHP は、Windows タスクのスケジュールされた実行のためのコードと拡張機能を実装します (図)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:PHPの配列定義次の記事:PHPの配列定義