ホームページ >バックエンド開発 >PHPチュートリアル >PHP定時送信サービスの問題解決方法
この記事では主に PHP スケジュール送信サービスのソリューションを紹介します。必要な方は参考にしてください
##1. モバイル APP または WeChat を開発する場合、メッセージを定期的にプッシュする必要があるシナリオがよくあります。
スケジュール送信は 2 つのタイプに分類されます。1 つは開発中に時間を固定するもので、バックグラウンド マネージャーはプッシュするメッセージを選択することしかできません。 # もう 1 つは、バックグラウンド管理者がプッシュする時間とメッセージを自由に選択できることです。
2. 解決策PHP 自体PHP はスクリプト言語であるため、スケジュールされた送信はサポートされていません。ほとんどの場合、ブラウザが閉じているため、PHP は実行されません。ほとんどの場合、それは何らかの小さな外部のものに依存します。 1. 固定時間
ほとんどのサーバー システムは Windows または Linux です。Linux: CronTab を使用して php を定期的に実行する
まず、コマンド ライン モードに入ります。サーバーとして、Linux は通常、デフォルトでコマンド ライン モードに入ります。もちろん、管理サーバーも通常、便宜上、root ユーザーとしてログインします。コマンドラインに次のように入力します:crontab -eその後、ファイルが開かれ、非編集状態になります。 vi. キーボードの i を押すと編集モードになり、内容を編集できます。このファイルの各行はスケジュールされたタスクです。新しい行を作成すると、新しいスケジュールされたタスクが作成されます (もちろん、この行は特定の形式で記述されることを意味します)。ここで例を見て、次の内容の行を追加してみましょう:
00 * * * * lynx -dump https://www.yourdomain.com/script.phpこれは何を意味しますか?実は上記の行は2つの部分から構成されており、前半部分が時間、後半部分が操作内容となります。たとえば、上記の
00 * * * *は、現在時刻が 00 分のときに、スケジュールされたタスクが実行されることを意味します。時間の部分は、次の 5 つの時間パラメータで構成されます。n分、たとえば */8 は 8 分ごとを意味し、以下は類似しています週の日を識別する0〜6(0は日曜日を表す]文は操作の具体的な内容です。
lynx -dump https://www.yourdomain.com/script.phpこれは、lynx を通じてこの URL にアクセスすることを意味します。 URL へのリモート アクセスを実現するには、主に lynx、curl、および wget を使用します。効率を向上させたい場合は、PHP を直接使用してローカル PHP ファイルを実行するのが最良の選択です。例:
00 */2 * * * /usr/local/bin/php /home/www/script.php#。
#
D:\php\php.exe -q D:\website\test.phpこの文の意味は、php.exe を使用して php ファイル test.php を実行することは、上記の contab と同じであるということです。サーバー環境をバイパスするため、実行効率も比較的高く高いです。書き込んだ後、「保存」をクリックしてエディタを閉じます。
次のステップは、cron.bat を実行するようにスケジュールされたタスクを設定することです。 「スタート」→「コントロールパネル」→「タスクスケジュール」→「タスクスケジュールの追加」の順に開き、開いたインターフェースでスケジュールされたタスクの時刻とパスワードを設定し、cron.batを選択してマウントします。これで、スケジュールされたタスクが作成され、スケジュールされたタスクが実行されます。時間が経過すると、cron.bat が実行されます。 phpを実行します。
2. 時間を自由に選択します
一般的に使用されるブログ システム wordpress には、ブログのスケジュール投稿を実行するための wp-corn ファイルが含まれています。ブロガーは wp-corn を使用します。ファイルを書き込むためのプロトタイプ。
wp-cornはサーバーリソースを非常に消費する戦略です。全員がブログにアクセスすると、wp-corn ファイルが呼び出されます (現在のサーバー時間を読み取り、送信するかどうかを決定します)。デメリットとしては、訪問者が比較的少ない場合には送信が間に合わず、訪問者が多すぎるとサーバーのパフォーマンスが低下してしまうことです。
ブロガーがプロジェクトに取り組んでいたとき、会社は Windows サーバーを提供しました。使用される方法は、サーバー上でページを開き、1 分ごとに自動的に更新することです (単純な JS スクリプト。コードは提供されません)。
上記がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。
関連する推奨事項:
# #
以上がPHP定時送信サービスの問題解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。