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.
(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)
curl_error — 現在のセッションに関する直近のエラー文字列を返す
エラーメッセージ、あるいはエラーが発生しなかった場合は ''
(空文字) を返します。
バージョン | 説明 |
---|---|
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);
?>
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.
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.html
CURLE_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.)
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.
Please note that periodically the developers go through the notes and may incorporate information from them into the documentation. This means that any note submitted here becomes the property of the PHP Documentation Group and will be available under the same license as the documentation.
Your IP Address will be logged with the submitted note and made public on the PHP manual user notes mailing list. The IP address is logged as part of the notes moderation process, and won't be shown within the PHP manual itself.
It may take up to an hour for your note to appear in the documentation.
The SPAM challenge requires numbers to written out in English, so, an appropriate answer may be nine but not 9.