PHP での Curl タイムアウトの構成
大規模なデータセットに対して Curl リクエストを実行する場合の一般的な課題は、データベースが応答。これに対処するために、開発者は多くの場合、長いカール タイムアウトを指定しようとします。ただし、curl でタイムアウトを設定するための正しいアプローチを理解することが重要です。
CURLOPT_CONNECTTIMEOUT と CURLOPT_TIMEOUT の比較
公式 PHP ドキュメント (http://www.php. net/manual/en/function.curl-setopt.php) は 2 つの異なるタイムアウトを示しますoptions:
提供されたコード スニペットでは、CURLOPT_TIMEOUT は1000 に設定されていますが、リクエストは指定された期間に達する前に途中で終了します。これは、タイムアウトが正しく構成されていないことを示しています。
推奨構成:
ドキュメントに基づくと、適切なアプローチは次のとおりです:
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0); curl_setopt($ch, CURLOPT_TIMEOUT, 400); //timeout in seconds
CURLOPT_CONNECTTIMEOUT を 0 に設定すると、接続確立を無期限に待機できるようになります。同時に、CURLOPT_TIMEOUT を特定の値に設定すると、最大実行時間が制限されます。
追加の考慮事項:
curl タイムアウトの構成とは別に、 set_time_limit() を使用する PHP スクリプト自体。これを 0 に設定すると、実質的にスクリプトに無制限の実行時間を与えることになります。
set_time_limit(0);// to infinity for example
これらの調整を実装すると、curl リクエストが指定されたタイムアウトを遵守し、データベース応答の生成に十分な時間を確保できるようになります。
以上が遅いデータベース応答を処理するために PHP で Curl タイムアウトを適切に構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。