【PHP8.x】curl_multi_errno関数の使い方

作成日: 更新日:

curl_multi_errno関数は、複数のcURLリクエストを並行して処理する際に使用するマルチハンドル操作において、直近で発生したエラーのコードを取得する関数です。この関数は、curl_multi_initで作成されたcURLマルチハンドルを引数として受け取ります。例えば、curl_multi_execcurl_multi_selectといった、複数の転送を管理する関数が期待通りに動作しなかった場合に、何らかのシステム的な問題が発生していないかを確認するために利用します。

エラーが発生していなければ、この関数はCURLM_OKに相当するゼロの値を返します。もしエラーが発生している場合は、その原因を示す具体的なエラーコード(整数値)が返されます。これにより、システムエンジニアを目指す皆さんが、並行処理中の問題を特定し、適切なエラーハンドリングを実装するための手がかりとして活用できます。この関数で取得できるエラーは、個々のHTTPリクエストの失敗ではなく、複数のリクエストを管理する「マルチハンドル」自体に起因する問題(例: メモリ不足、無効な状態遷移など)に関連するものです。個々のHTTP転送におけるエラーは、別途curl_errno関数で確認する必要があります。

基本的な使い方

構文(syntax)

<?php
$multiHandle = curl_multi_init();
$errorCode = curl_multi_errno($multiHandle);
curl_multi_close($multiHandle);
?>

引数(parameters)

CurlMultiHandle $multi_handle

  • CurlMultiHandle $multi_handle: マルチハンドルを表すオブジェクト。curl_multi_init() で取得したリソースを指定します。

戻り値(return)

int

実行中に発生した最新のエラーコードを整数で返します。エラーが発生しなかった場合は 0 を返します。

【PHP8.x】curl_multi_errno関数の使い方 | いっしー@Webエンジニア