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

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

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

作成日: 更新日:

基本的な使い方

CURLINFO_STARTTRANSFER_TIME定数は、PHPのcURL拡張機能において、リソースの転送が実際に開始されるまでの時間を取得するために使用される定数です。この定数は、curl_getinfo()関数と組み合わせて利用されます。curl_getinfo()関数にこの定数を指定することで、指定されたcURLセッションにおいて、ファイル転送が始まるまでの経過時間が秒単位の浮動小数点数(float)として返されます。

この「転送開始までの時間」には、名前解決、TCP接続の確立、SSL/TLSハンドシェイク、プロキシ接続、リダイレクト処理、認証、そしてリクエストの送信といった、データ転送が実際に始まる前に行われる一連の処理にかかる時間が含まれています。具体的には、cURLがサーバーから最初のバイトを受信する直前までの時間を指します。

システムエンジニアがWebアプリケーションのパフォーマンス分析を行う際や、ネットワーク関連のデバッグを行う際に、初期接続や準備段階でどの程度の時間がかかっているのかを把握するために非常に有用です。例えば、ネットワーク遅延が大きい場合や、サーバー側の応答が遅い場合などに、どこでボトルネックが発生しているのかを特定する手がかりとなります。この情報を用いることで、ユーザーが体感する待ち時間の原因をより詳細に分析し、改善策を検討することが可能になります。

構文(syntax)

1<?php
2$ch = curl_init();
3curl_setopt($ch, CURLOPT_URL, "https://www.example.com");
4curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
5curl_exec($ch);
6$startTransferTime = curl_getinfo($ch, CURLINFO_STARTTRANSFER_TIME);
7curl_close($ch);
8?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

float

CURLINFO_STARTTRANSFER_TIME は、リクエストの送信から最初のバイトを受信するまでの時間を秒単位の浮動小数点数で返します。

関連コンテンツ