PHP cURL curl_errno() Function
The PHP cURL curl_errno() function is used to return the error number for the last cURL operation. So basically it returns the last error number for the most recent cURL operation.
Syntax
Below is the syntax of the PHP cURL curl_errno() function −
int curl_errno ( resource $handle )
Parameters
This function accepts $handle parameter which is the cURL handle returned by curl_init().
Return Value
The curl_errno() function returns the error number or 0 (zero) if no error occurred.
PHP Version
Introduced in core PHP 4.0.3, the curl_errno() function works well with PHP 5, PHP 7, and PHP 8.
Example 1
Here is the basic example of the PHP cURL curl_errno() function to get the error if there is non-existing location.
<?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 occurred
if(curl_errno($ch))
{
echo 'The Curl error is: ' . curl_error($ch);
}
// Close handle
curl_close($ch);
Output
Here is the outcome of the following code −
Curl error: Could not resolve host: 404.php.net
Example 2
This is another PHP example that uses the curl_errno() method to get the error of the URL is not valid or not found.
<?php
// Initialize a cURL session
$ch = curl_init();
// Set the URL to fetch
curl_setopt($ch, CURLOPT_URL, "http://404.error.website.com");
// Execute the cURL session
curl_exec($ch);
// Check if there was an error
if (curl_errno($ch)) {
echo 'cURL error: ' . curl_errno($ch);
} else {
echo 'No cURL error';
}
// Close the cURL session
curl_close($ch);
?>
Output
This will produce the following output −
cURL error: 6
Example 3
In the below PHP code we will try to handle a connection failure with the help of curl_errno() function.
<?php
$ch = curl_init();
// Invalid URL to trigger an error
curl_setopt($ch, CURLOPT_URL, "http://invalid.url");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
if (curl_errno($ch)) {
echo 'Connection failed with error number: ' . curl_errno($ch);
} else {
echo 'Connection successful';
}
curl_close($ch);
?>
Output
This will generate the below output −
Connection failed with error number: 6
Example 4
Now we will try to check if a timeout error occurred using the curl_errno() function.
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://tutorialspoint.com");
curl_setopt($ch, CURLOPT_TIMEOUT, 1); // Set timeout to 1 second
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
if (curl_errno($ch) == CURLE_OPERATION_TIMEOUTED) {
echo 'Request timed out with error number: ' . curl_errno($ch);
} else {
echo 'Request completed successfully.';
}
curl_close($ch);
?>
Output
This will create the following result −
Request completed successfully.
Summary
The curl_errno() method is a built-in function to return the error number if an error occurred during the last cURL operation, or 0 if no error occurred.