【PHP8.x】CURLOPT_LOW_SPEED_LIMIT定数の使い方
CURLOPT_LOW_SPEED_LIMIT定数の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
CURLOPT_LOW_SPEED_LIMIT定数は、PHPのcURL拡張機能において、データ転送の平均速度が許容される最低限の閾値をバイト/秒で指定するために使用される定数です。この定数は、ネットワーク通信中に転送速度が著しく低下した場合に、接続を自動的にタイムアウトさせるための基準として機能します。
システムエンジニアがウェブAPIとの連携やファイルのダウンロード処理などを実装する際、ネットワークの混雑やサーバー側の応答遅延によってデータ転送が非常に遅くなることがあります。そのような状況で、いつまでも処理が完了しない「ハングアップ」状態に陥ることを防ぐために、このCURLOPT_LOW_SPEED_LIMIT定数を利用します。
具体的には、cURL操作中にCURLOPT_LOW_SPEED_TIME定数で指定された秒数の間、このCURLOPT_LOW_SPEED_LIMITで設定された平均速度を下回り続けた場合に、cURL接続は強制的に切断され、エラーが返されます。例えば、CURLOPT_LOW_SPEED_LIMITを100(100バイト/秒)に、CURLOPT_LOW_SPEED_TIMEを30(30秒)に設定した場合、30秒間連続して平均転送速度が100バイト/秒を下回ると、cURL処理はタイムアウトします。
これにより、アプリケーションは低速な通信に不必要に長く拘束されることなく、限られたリソースを効率的に利用し、ユーザー体験の低下を防ぐことができます。この設定は、ネットワーク通信の信頼性と堅牢性を向上させる上で非常に重要な要素となります。
構文(syntax)
1<?php 2$ch = curl_init(); 3curl_setopt($ch, CURLOPT_URL, "http://example.com"); 4curl_setopt($ch, CURLOPT_LOW_SPEED_LIMIT, 10); 5curl_setopt($ch, CURLOPT_LOW_SPEED_TIME, 30); 6curl_exec($ch); 7curl_close($ch); 8?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
戻り値なし
戻り値はありません