Note that you can detect errors using curl_multi_info_read() in the curl_multi_exec() loop that don't show up later using curl_errno(). This seems particularly true of connection errors.
curl_errno
(PHP 4 >= 4.0.3, PHP 5)
curl_errno — Return the last error number
Description
int curl_errno
( resource $ch
)
Returns the error number for the last cURL operation.
Return Values
Returns the error number or 0 (zero) if no error occurred.
Examples
Example #1 curl_errno() example
<?php
// Create a curl handle to a non-existing location
$ch = curl_init('http://404.php.net/');
// Execute
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
// Check if any error occured
if(curl_errno($ch))
{
echo 'Curl error: ' . curl_error($ch);
}
// Close handle
curl_close($ch);
?>
See Also
- curl_error() - Return a string containing the last error for the current session
- » Curl error codes
curl_errno
bozo_z_clown at yahoo dot com
14-Jun-2009 07:40
14-Jun-2009 07:40
Jacques Manukyan
28-Dec-2007 01:43
28-Dec-2007 01:43
The error codes come directly from the curl source code. Specifically, look at the curl.h file and it will tell you exactly what each returned code does.
Most of these codes are cryptic but at least you can get a clue as to what the errors are.
Here is a quick snippet of what the errors in the curl.h look like:
CURLE_OK = 0,
CURLE_UNSUPPORTED_PROTOCOL, /* 1 */
CURLE_FAILED_INIT, /* 2 */
CURLE_URL_MALFORMAT, /* 3 */
CURLE_URL_MALFORMAT_USER, /* 4 - NOT USED */
CURLE_COULDNT_RESOLVE_PROXY, /* 5 */
CURLE_COULDNT_RESOLVE_HOST, /* 6 */
CURLE_COULDNT_CONNECT, /* 7 */
CURLE_FTP_WEIRD_SERVER_REPLY, /* 8 */
Note that code 0 means its not an error, it means success.
