Пример создаёт разделяемый cURL-дескриптор, добавляет
в него два простых cURL-дескриптора и запускает их с разделяемыми данными cookie.
<?php
// Создаём разделяемый дескриптор модуля cURL и настраиваем его на разделение данных cookie
$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 разделяются со вторым дескриптором $ch2
curl_exec($ch2);
// Закрываем разделяемый дескриптор
curl_share_close($sh);
// Закрываем простые дескрипторы
curl_close($ch1);
curl_close($ch2);
?>