ホームページ > バックエンド開発 > PHPチュートリアル > ユーザーの操作をブロックせずに、長時間実行される PHP スクリプトを非同期で実行するにはどうすればよいですか?

ユーザーの操作をブロックせずに、長時間実行される PHP スクリプトを非同期で実行するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-10-27 12:39:29
オリジナル
1097 人が閲覧しました

How Can I Run Long-Running PHP Scripts Asynchronously Without Blocking User Interaction?

PHP バックグラウンド プロセス: スクリプトを非同期的に実行する

問題:

PHP スクリプトを実行すると、場合によっては 10 分ほどかかることもあります。この長時間にわたるプロセス中に Web ページをロードし続けるのは不便な場合があります。ページの読み込みを維持せずに、スクリプトを開始して後で結果を取得する方法はありますか?

バックグラウンド プロセス:

PHP バックグラウンド プロセスにより、スクリプトの実行を継続できます。ユーザーが Web ページを閉じた後。これにより、ユーザーによる継続的な操作を必要とせずにタスクを中断なく実行できます。

解決策: ユーザーの中止を無視し、無制限の時間制限を設定します

PHP でバックグラウンド プロセスを作成する 1 つの方法は、次のとおりです。 ignore_user_abort 関数と set_time_limit 関数を使用します。その仕組みは次のとおりです。

<code class="php">ignore_user_abort(true);
set_time_limit(0);</code>
ログイン後にコピー
  • ignore_user_abort(true) は、ユーザーのスクリプト終了要求を無視するように PHP に指示します。
  • set_time_limit(0) は、

注意:

これらの関数により、スクリプトはバックグラウンドで実行し続けることができますが、これらの関数は、一度開始されると、スクリプトが実行されなくなることに注意することが重要です。 PHP を使用してスクリプトを停止することはできません。これらを中断する唯一の方法は、サーバーにアクセスしてプロセスを直接終了することです。

したがって、これらの関数を使用するとき、特に無限に実行される可能性のあるスクリプトを扱うときは注意が必要です。

以上がユーザーの操作をブロックせずに、長時間実行される PHP スクリプトを非同期で実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート