(PHP 5, PHP 7, PHP 8)
curl_copy_handle — Copy a cURL handle along with all of its preferences
Copies a cURL handle keeping the same preferences.
Returns a new cURL handle, or false
on failure.
Version | Description |
---|---|
8.0.0 |
handle expects a CurlHandle
instance now; previously, a resource was expected.
|
8.0.0 | On success, this function returns a CurlHandle instance now; previously, a resource was returned. |
Example #1 Copying a cURL handle
<?php
// create a new cURL resource
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/');
curl_setopt($ch, CURLOPT_HEADER, 0);
// copy the handle
$ch2 = curl_copy_handle($ch);
// grab URL (http://www.example.com/) and pass it to the browser
curl_exec($ch2);
// close cURL resources, and free up system resources
curl_close($ch2);
curl_close($ch);
?>
There is some internal curl error (CURLE_FAILED_INIT) when you are trying to use just copied curl handle in curl_multi_add_handle(). I have checked the same problematic PHP code but with little difference: instead of creating curl’s copy I have used the original one (template). As I expect code works without any error. I think curl_multi_* along with curl_copy_handle() is still raw and needs some improvements.
With best wishes
Vitali Simsive