Dutch PHP Conference 2025 - Call For Papers

curl_copy_handle

(PHP 5, PHP 7, PHP 8)

curl_copy_handleКопирует cURL-дескриптор вместе с настройками

Описание

curl_copy_handle(CurlHandle $handle): CurlHandle|false

Функция копирует дескриптор модуля cURL с сохранением настроек.

Список параметров

handle

Дескриптор модуля cURL, который вернула функция curl_init().

Возвращаемые значения

Функция возвращает новый дескриптор модуля cURL или false, если возникла ошибка.

Список изменений

Версия Описание
8.0.0 Параметр handle теперь ожидает экземпляр класса CurlHandle; раньше, параметр ждал ресурс (resource).
8.0.0 Теперь в случае успешного выполнения функция возвращает экземпляр класса CurlHandle; раньше возвращался ресурс (resource).

Примеры

Пример #1 Пример копирования cURL-дескриптора

<?php

// Создаём новую cURL-сессию
$ch = curl_init();

// Устанавливаем URL-адрес и другие параметры
curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/');
curl_setopt($ch, CURLOPT_HEADER, 0);

// Копируем дескриптор
$ch2 = curl_copy_handle($ch);

// Загружаем URL-адрес (http://www.example.com/) и передаём его в браузер
curl_exec($ch2);

// Завершаем cURL-сессию и освобождаем системные ресурсы
curl_close($ch2);
curl_close($ch);

?>

add a note

User Contributed Notes 1 note

up
4
administrator at proxy-list dot org
16 years ago
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
To Top