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

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

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

作成日: 更新日:

基本的な使い方

CURLINFO_PRETRANSFER_TIME定数は、cURL転送セッションにおいて、データ転送が実際に開始されるまでの合計時間を表す定数です。この定数は、PHPのcURL拡張機能で利用され、curl_getinfo()関数と組み合わせて使用することで、HTTPリクエストのパフォーマンスを詳細に分析する際に役立ちます。

具体的には、この値は、DNS解決、TCP接続の確立、そしてHTTPSを使用している場合にはSSL/TLSハンドシェイクが完了し、サーバーからのレスポンスを待つ直前、つまり実際のデータ送受信が開始されるまでの時間を秒単位で浮動小数点数として返します。この時間には、サーバーへの接続確立に関するすべての処理が含まれますが、データの最初のバイトが受信されるまでの時間は含まれません。

システムエンジニアを目指す方にとって、この定数はネットワーク通信のボトルネックを特定する上で非常に重要です。例えば、Webアプリケーションが外部APIに接続する際に遅延が発生している場合、CURLINFO_PRETRANSFER_TIMEの値を確認することで、接続確立フェーズに時間がかかっているのか、それともデータ転送自体に問題があるのかを切り分ける手がかりとなります。これにより、インフラストラクチャやネットワーク設定の改善が必要か、あるいはアプリケーションコードの最適化が必要かを判断するための貴重な情報を提供します。

構文(syntax)

1<?php
2$ch = curl_init();
3curl_setopt($ch, CURLOPT_URL, "http://www.example.com");
4curl_exec($ch);
5$pretransfer_time = curl_getinfo($ch, CURLINFO_PRETRANSFER_TIME);
6curl_close($ch);
7?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

float

PHPの定数CURLINFO_PRETRANSFER_TIMEは、リクエストの送信が開始されてから、サーバーからの最初のバイトを受信するまでの経過時間を浮動小数点数で返します。この値は秒単位で表されます。

関連コンテンツ