仕事でPHPを使った小さな監視プログラムを開発しました。監視するので定期的に実行する必要があります。
以前は、Chrome を使用してスケジュールされた更新用の小さなプラグインを追加し、サーバー上で実行していましたが、動作は困難でした。
一般的かつ正式なアプローチは、Linux では Cron を使用し、Windows ではスケジュールされたタスクを使用する必要があります。 php.exe を使用してスクリプトを実行します。Win では追加のバット ファイルを作成する必要があります。これについては多くの記事で説明されています。
個人的には、ignore_user_abort(true) の使用に慣れていません
しかし、問題があります。つまり、実行される php ファイルは単純なスクリプトのみであり、フレームワークは使用できません。フレームワークが原因で実行エラーが発生します。監視プログラムなのでデータベースを使わないといけませんが、まだMVCに慣れているのでフレームワークを使わないほうが面倒です!
どうやって解決しますか?
httpclient 経由でサーバーにリクエストを送信することで、それを作成し、実装します。
最初に cron.php ファイルを作成します
<?phprequire_once (__DIR__ . '/yq/Lib/ORG/HttpClient.class.php'); //我用的是thinkphp$client = new HttpClient ( "192.168.120.12", 8011 );$url = '/yuqing'; //这里是要刷新的地址$res = $client->get ( $url );if ($res) { $content = $client->getContent ();}?>
次にバッチ ファイルを作成します
@echo offecho "舆情监控系统采集中..""F:\xampp\php\php.exe" -f "F:\xampp\htdocs\yuqing\cron.php"