(PHP 5 >= 5.5.0, PHP 7, PHP 8)
curl_share_init — Инициализирует разделяемый cURL-дескриптор
Функция разрешает cURL-дескрипторам делиться данными друг с другом.
У этой функции нет параметров.
Фнукция возвращает разделяемый дескриптор модуля cURL.
Версия | Описание |
---|---|
8.0.0 | Функция возвращает экземпляр класса CurlShareHandle; раньше возвращался ресурс (resource). |
Пример #1 Пример использования функции curl_share_init()
Пример создаёт разделяемый дескриптор cURL, добавляет в него два обычных дескриптора и запускает оба дескриптора. Дескрипторы будут использовать одни и те же блоки данных cookie.
<?php
// Создаём разделяемый дескриптор и настраиваем его на обмен cookies
$sh = curl_share_init();
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);
// Инициализируем первый дескриптор модуля cURL и связываем его с разделяемым
$ch1 = curl_init("http://example.com/");
curl_setopt($ch1, CURLOPT_SHARE, $sh);
// Запускаем первый запрос
curl_exec($ch1);
// Инициализируем второй дескриптор cURL и связываем его с разделяемым
$ch2 = curl_init("http://php.net/");
curl_setopt($ch2, CURLOPT_SHARE, $sh);
// Запускаем второй дескриптор
// Дескриптору будут доступны cookies первого дескриптор, который хранится в переменной $ch1
curl_exec($ch2);
// Закрываем разделяемый дескриптор
curl_share_close($sh);
// Закрываем оба обычных дескриптора
curl_close($ch1);
curl_close($ch2);
?>