一部の賭博ウェブサイトでは、スケジュールされた実行機能を実行する必要がある場合、たとえば、10 秒以内に完了する必要がある質問がある場合、完了すると「タイムアウトしました」と表示されます。次の質問に進みます。途中で 10 秒の一時停止があります。この機能はどのように実装されていますか?
PHP にはスリープ関数があります。これは、プログラムの実行がスリープ関数に遭遇すると、N 秒間一時停止し、その後実行を継続することを大まかに意味します。たとえば、sleep(10) は、プログラムが sleep(10) ステートメントに遭遇した後、10 秒間一時停止してから実行を継続することを意味します。関数括弧内のパラメータは、一時停止時間の値を秒単位で表す数値です。次のコードを見てください:
<?php // current time echo date('h:i:s') . "\n"; // sleep for 10 seconds sleep(10); // wake up ! echo date('h:i:s') . "\n"; ?>
上記のプログラムの実行結果は次のとおりです:
05:31:23
05:31:33
おそらく、一部の子供たちは、次のときにプログラムの実行エラーが発生すると言うでしょう。例を実行して、タイムアウトを要求します。この問題が発生してもパニックにならないでください。これは PHP のデフォルトのページ実行時間によって引き起こされます。PHP のデフォルトのページ実行時間は、一般的なプログラムには十分な時間です。ただし、同様のスケジュールされた実行関数を実行する場合は、ヘッダー ステートメントで実行時間を set_time_limit(0) に設定する必要があります。 0 は時間制限がないことを意味し、単位は秒です。
実行時間が 30 秒を超える場合は、操作を実行する前に必ず MYSQL に再度接続してください。そうしないと、実行が無効になります。 ! !その理由は、実行時間が長すぎるとデータベース接続が切断され、データベース情報を読み取れなくなる可能性があるためです。
実際に実行して、インスタンスに一時停止機能を追加してから、先に進みます。
スリープ関数を使用して PHP でスケジュール実行関数コードを実装する方法に関するその他の記事については、PHP 中国語 Web サイトに注目してください。