アプリケーションで複数のスレッド カール リクエストを使用しようとしています。問題は、curl_multi リクエスト中にアプリケーションが応答しなくなることです (別のリクエストが待機中です)。また、curl_multi 中は誰もサイトを使用できません。カールが終了すると、サーバーは正常に応答します。
質問する
356 次
1 に答える
4
これは curl_multi とは関係ありませんが、PHP セッションとは関係ありません。
次の 2 つの要求を行います。
- 長く続くcurlリクエストを行うもの
- そして二度目のお願い。
最初のリクエストは、php セッションを開いてロックします。次に、curl リクエストを実行しますが、これには時間がかかります。
2 番目のリクエストは、php セッションが解放されるのを待ちます。つまり、最初のリクエストが終了するまで待ちます。
他のリクエストも、php セッションが解放されるのを待ちます。これが、アプリケーションが応答していないように見える理由です。
解決策は次のとおりです。
- 実行時間の長いスクリプトを避ける
- または、session_write_close() を呼び出して、実行時間の長いスクリプトの前にセッションを閉じます。
PHP ダウンロードが残りのリクエストをブロックするのを参照してください
于 2013-05-24T12:07:13.850 に答える