PHP 8.3.27 Released!

curl_error

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

curl_errorВозвращает строку с описанием ошибки последней операции текущего сеанса

Описание

curl_error(CurlHandle $handle): string

Функция возвращает понятное сообщение о результате последней операции cURL-сеанса.

Список параметров

handle

Дескриптор модуля cURL, который вернула функция curl_init().

Возвращаемые значения

Функция возвращает сообщение об ошибке или пустую строку — '', если последняя операция выполнилась успешно.

Список изменений

Версия Описание
8.0.0 Параметр handle теперь ожидает экземпляр класса CurlHandle; раньше, параметр ждал ресурс (resource).

Примеры

Пример #1 Пример получения функцией curl_error() описания последней операции cURL-сеанса

<?php

// Создаём curl-дескриптор с неправильным URL-адресом
$ch = curl_init('http://404.php.net/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

if (
curl_exec($ch) === false) {
echo
'Ошибка curl: ' . curl_error($ch);
} else {
echo
'Операция завершилась без ошибок';
}

?>

Смотрите также

Добавить

Примечания пользователей 4 notes

up
62
patrick at ibuildings dot nl
12 years ago
If you want to fetch the error message, make sure you fetch it before you close the current cURL session or the error message will be reset to an empty string.
up
8
Anonymous
4 years ago
If you're using curl_multi and there's an error, curl_error() will remain empty until you've called curl_multi_info_read(). That function "pumps" the information inside the curl libraries to the point where curl_error() will return a useful string.This should really be added to the documentation, because it's not at all obvious.
up
27
paul at paulmcgarry dot com
16 years ago
For a 404 response to actually trigger an error as the example seems to be trying to demonstrate the following option should be set:curl_setopt($ch,CURLOPT_FAILONERROR,true);As per http://curl.haxx.se/libcurl/c/libcurl-errors.htmlCURLE_HTTP_RETURNED_ERROR (22)This is returned if CURLOPT_FAILONERROR is set TRUE and the HTTP server returns an error code that is >= 400. (This error code was formerly known as CURLE_HTTP_NOT_FOUND.)
up
7
anrdaemon at freemail dot ru
6 years ago
curl_error is not a textual representation of curl_errno.It's an actual error *message*.If you want textual representation of error *code*, look for curl_strerror.
To Top