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>
注意:
これらの関数により、スクリプトはバックグラウンドで実行し続けることができますが、これらの関数は、一度開始されると、スクリプトが実行されなくなることに注意することが重要です。 PHP を使用してスクリプトを停止することはできません。これらを中断する唯一の方法は、サーバーにアクセスしてプロセスを直接終了することです。
したがって、これらの関数を使用するとき、特に無限に実行される可能性のあるスクリプトを扱うときは注意が必要です。
以上がユーザーの操作をブロックせずに、長時間実行される PHP スクリプトを非同期で実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。