swoole_http_responseメソッドのヘッダー、ステータス、endを使用してジャンプを実現します
コードは次のとおりです
リーリーしかし、redirect() を使用した後、プログラムは中断されずに実行を続けます。
その後、実行の継続を防ぐために例外をスローしてプログラムを中断しましたが、このメソッドによりワーカーが再起動されてしまいました。 質問:ページがジャンプした直後にプログラムを中断し、実行を続行せずにページがすぐにジャンプするようにする良い方法はありますか?例外をスローしてプログラムを中断するメソッドは使用しないようにする必要があります
返信内容:コードは次のとおりです
リーリーしかし、redirect() を使用した後、プログラムは中断されずに実行を続けます。
その後、実行の継続を防ぐために例外をスローしてプログラムを中断しましたが、このメソッドによりワーカーが再起動されてしまいました。 質問:ページがジャンプした直後にプログラムを中断し、実行を続行せずにページがすぐにジャンプするようにする良い方法はありますか?例外をスローしてプログラムを中断するメソッドは使用しないようにする必要があります
最初は exit(0) と言いたかったのですが、少し違う気がしました
私は swoole を使用したことがありません。swoole のドキュメントを見ただけです。swoole_http_response->end
HTTPレスポンスボディを送信してリクエスト処理を終了します。
swoole_http_response->end(string $html);終了操作の後、HTML コンテンツがクライアントのブラウザに送信され、$request/$response オブジェクトが破棄されます。http://wiki.swoole.com/wiki/p...KeepAlive がオンになっている場合、接続は行われます。維持され、サーバーは次回のリクエストを待機します
KeepAlive が有効になっていない場合、サーバーは接続を切断します
end() の後、$response オブジェクトは破棄され、http レスポンスが完了し、ビジネス コードは実行されません。
reactorがnginx、workerがphp-fpmであることが分かります。リアクター スレッドは、ネットワーク リクエストを非同期かつ並行して処理し、処理のためにワーカー プロセスに転送します。リアクターとワーカーは IPC を介して通信します。
Swoole のリアクター、ワーカー、および task_worker を密接に組み合わせて、より高度な使用法を提供できます。
より一般的な比喩では、サーバーが工場であると仮定すると、リアクターはプロジェクトの受注を支援する販売になります。営業マンは注文を受けると、顧客が望むものを作るために仕事に取り掛かります。 task_worker は、従業員が仕事に集中できるように、従業員がいくつかの雑務を行うのを支援できる管理スタッフとして理解できます。ワーカーを再起動しても効果がないようです。