Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】CURLOPT_TCP_KEEPIDLE定数の使い方

CURLOPT_TCP_KEEPIDLE定数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

CURLOPT_TCP_KEEPIDLE定数は、PHPのcURL拡張機能において、TCP接続のKeep-Alive機能におけるアイドル時間を設定するために使用される定数です。この定数に整数値を指定することで、TCP接続がデータ転送を行わないアイドル状態になってから、最初のKeep-Aliveプローブ(接続がアクティブであるかを確認するための小さなパケット)を送信するまでの秒数を定義します。

具体的には、クライアントとサーバー間のTCP接続が長時間にわたりデータ通信がない場合でも、このKeep-Aliveプローブを定期的に送信することで、接続がまだ有効であるか、あるいは途中で切断されていないかを確認できます。これにより、ネットワークの途中で接続が失われた場合でも、クライアント側がその状況を早期に検出し、無駄なリソースの消費を防ぐことが可能になります。

このオプションを有効にするには、まずCURLOPT_TCP_KEEPALIVEオプションをtrueに設定する必要があります。CURLOPT_TCP_KEEPIDLEは、CURLOPT_TCP_KEEPALIVEが有効である場合にのみ機能し、プローブを送信する間隔を細かく制御するためのものです。ただし、この機能は主にLinuxなどのUnix系オペレーティングシステムでサポートされており、Windowsなどの一部のプラットフォームでは利用できないか、期待通りに動作しない場合がある点にご注意ください。ネットワークの状態監視や、長期間のHTTP接続維持が必要なシステムにおいて、より堅牢な通信を実現するために利用されます。

構文(syntax)

1<?php
2
3$ch = curl_init();
4curl_setopt($ch, CURLOPT_URL, "http://example.com");
5curl_setopt($ch, CURLOPT_TCP_KEEPIDLE, 75); // 75秒アイドル状態が続いた後に最初のキープアライブプローブを送信
6$response = curl_exec($ch);
7curl_close($ch);
8
9?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ