ホームページ >バックエンド開発 >PHPチュートリアル >PHP で cURL エラーを効果的に検出して処理するにはどうすればよいですか?

PHP で cURL エラーを効果的に検出して処理するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-17 21:46:10252ブラウズ

How Can I Effectively Detect and Handle cURL Errors in PHP?

PHP での cURL エラーの検出

PHP で cURL を使用してリモート サーバーとデータを交換する場合、エラーを効果的に処理することが重要です。送信中にさまざまなエラー コードが発生しても、現在のコードを使用してエラー コードを識別できない場合があります。

コードについて

コードを調べてみましょう。 cURL を使用してデータを送信しましたが、エラーの検出に問題がありました:

$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_POST, true);
curl_setopt($c, CURLOPT_POSTFIELDS, $data);
$result = curl_exec($c);
if (curl_exec($c) === false) {
    echo "ok";
} else {
    echo "error";
}
curl_close($c);

を使用したエラーの検出curl_error()

cURL 操作中に発生するエラーに関する情報を取得するには、curl_error() 関数を利用できます。この手法を組み込んだコードの更新バージョンは次のとおりです。

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $your_url);
curl_setopt($ch, CURLOPT_FAILONERROR, true); // Required for HTTP error codes to be reported via our call to curl_error($ch)
//...

curl_exec($ch);
if (curl_errno($ch)) {
    $error_msg = curl_error($ch);
}
curl_close($ch);

if (isset($error_msg)) {
    // TODO - Handle cURL error accordingly
}

CURLOPT_FAILONERROR を true に設定すると、cURL はエラー コードの場合に false を返し、curl_error() を使用してエラー メッセージを取得できるようになります。 。その後、$error_msg 文字列を使用して、発生した特定のエラーに基づいて適切なアクションを実行できます。

追加リソース

詳細については、次の参考資料を参照してください。

  • [libcurl エラーコード](https://curl.se/libcurl/c/libcurl-errors.html)
  • [PHPcurl_errno() 関数](https://www.php.net/manual/en/function) .curl-errno.php)
  • [PHPcurl_error()関数](https://www.php.net/manual/en/function.curl-error.php)

以上がPHP で cURL エラーを効果的に検出して処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。