Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

PHP cURL curl_share_strerror() Function



The PHP cURL curl_share_strerror() function is used to provide the specified error code along with a text error message. So using this function we can handle errors while working with share handles.

Syntax

Below is the syntax of the PHP cURL curl_share_strerror() function −

string curl_share_strerror(int $sh)

Parameters

This function accepts $sh parameter which is one of the error code from cURL error codes constants.

Return Value

The curl_share_strerror() function returns a string describing the error in the cURL sharing handle or NULL for invalid error code.

PHP Version

First introduced in core PHP 7.1.0, the curl_share_strerror() function continues to function easily in PHP 8.

Example 1

First we will show you the basic example of the PHP cURL curl_share_strerror() function to set an invalid option.

<?php
   // Create a cURL share handle
   $sh = curl_share_init();
   
   // Try to set an invalid option
   $result = curl_share_setopt($sh, CURLSHOPT_SHARE, 'invalid_option');
   
   // Check if there is an error
   if ($result !== CURLE_OK) {
       echo 'Error: ' . curl_share_strerror($result);
   }
   
   // Close the share handle
   curl_share_close($sh);
?>

Output

Here is the outcome of the following code −

Error: No error

Example 2

In the below PHP code we will try to use the curl_share_strerror() function for handling an error when sharing cookies.

<?php
   // Create a cURL share handle
   $sh = curl_share_init();
   
   // Set an option to share cookies
   $result = curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);
   
   // Check if the option was set successfully
   if ($result !== CURLE_OK) {
       echo 'Error: ' . curl_share_strerror($result);
   } else {
       echo 'Cookies sharing setup successfully.';
   }
   
   // Cleanup the share handle
   curl_share_close($sh);
?> 

Output

This will generate the below output −

Error: Unknown share option

Example 3

Now the below code for sharing DNS cache using the curl_share_setopt() function and get the error message using curl_share_strerror() function if it occurs.

<?php
   // Create a cURL share handle
   $sh = curl_share_init();
   
   // Set an option to share DNS cache
   $result = curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_DNS);
   
   // Check if the option was set successfully
   if ($result !== CURLE_OK) {
       echo 'Error: ' . curl_share_strerror($result);
   } else {
       echo 'DNS cache sharing setup successfully.';
   }
   
   // Cleanup the share handle
   curl_share_close($sh);
?> 

Output

This will create the below output −

Error: Unknown share option

Example 4

In the following example, we are using the curl_share_strerror() function for handling multiple errors.

<?php
   // Create a cURL share handle
   $sh = curl_share_init();
   
   // Try setting an invalid option
   $result1 = curl_share_setopt($sh, CURLSHOPT_SHARE, 'invalid_option');
   
   // Try another invalid setting
   $result2 = curl_share_setopt($sh, CURLSHOPT_UNSHARE, 'invalid_option');
   
   // Check for errors
   if ($result1 !== CURLE_OK) {
       echo 'First Error: ' . curl_share_strerror($result1) . PHP_EOL;
   }
   if ($result2 !== CURLE_OK) {
       echo 'Second Error: ' . curl_share_strerror($result2) . PHP_EOL;
   }
   
   // Cleanup the share handle
   curl_share_close($sh);
?> 

Output

Following is the output of the above code −

First Error: No error
Second Error: No error
php_function_reference.htm
Advertisements