curl_error

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

curl_error返回包含当前会话最后一个错误的字符串

描述

curl_error(CurlHandle $handle): string

返回最后一次 cURL 操作的明文错误消息。

参数

handle

curl_init() 返回的 cURL 句柄。

返回值

返回错误消息或 ''(空字符串),如果未发生错误。

变更日志

版本 描述
8.0.0 handle 现在期望一个 CurlHandle 实例;以前,期望一个 resource

示例

示例 #1 curl_error() 示例

<?php
// 创建一个指向不存在位置的 curl 句柄
$ch = curl_init('http://404.php.net/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

if(
curl_exec($ch) === false)
{
echo
'Curl error: ' . curl_error($ch);
}
else
{
echo
'Operation completed without any errors';
}

// 关闭句柄
curl_close($ch);
?>

参见

添加说明

用户贡献说明 4 notes

patrick at ibuildings dot nl
11 年前
如果你想获取错误消息,请确保在关闭当前 cURL 会话之前获取它,否则错误消息将被重置为空字符串。
paul at paulmcgarry dot com
15 年前
为了让 404 响应实际上触发错误,就像示例试图演示的那样,应该设置以下选项

curl_setopt($ch,CURLOPT_FAILONERROR,true);

http://curl.haxx.se/libcurl/c/libcurl-errors.html

CURLE_HTTP_RETURNED_ERROR (22)
如果 CURLOPT_FAILONERROR 设置为 TRUE 并且 HTTP 服务器返回的错误代码大于或等于 400,则会返回此错误代码。(此错误代码以前被称为 CURLE_HTTP_NOT_FOUND。)
匿名
3 年前
如果你使用的是 curl_multi 并且发生错误,curl_error() 将保持为空,直到你调用 curl_multi_info_read()。该函数将 curl 库中的信息“泵送”到 curl_error() 返回有用字符串的程度。

这实际上应该添加到文档中,因为它并不明显。
anrdaemon at freemail dot ru
5 年前
curl_error 不是 curl_errno 的文本表示。
它是一个实际的错误*消息*。
如果你想要错误*代码*的文本表示,请查找 curl_strerror。
To Top