curl_share_setopt

Set an option for a cURL share handle

Description

bool curl_share_setopt(CurlShareHandle $share_handle, int $option, mixed $value)

Sets an option on the given cURL share handle.

Parameters

share_handle

A cURL share handle returned by curl_share_init.

option

One of the CURLSHOPT_* constants.

value

One of the CURL_LOCK_DATA_* constants.

Return Values

Returns true on success or false on failure.

Changelog

Version Description
8.0.0 share_handle expects a CurlShareHandle instance now; previously, a resource was expected.

Examples

Example #1 curl_share_setopt example

This example will create a cURL share handle, add two cURL handles to it, and then run them with cookie data sharing.

<?php
// Create cURL share handle and set it to share cookie data
$sh = curl_share_init();
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);

// Initialize the first cURL handle and assign the share handle to it
$ch1 = curl_init("http://example.com/");
curl_setopt($ch1, CURLOPT_SHARE, $sh);

// Execute the first cURL handle
curl_exec($ch1);

// Initialize the second cURL handle and assign the share handle to it
$ch2 = curl_init("http://php.net/");
curl_setopt($ch2, CURLOPT_SHARE, $sh);

// Execute the second cURL handle
//  all cookies from $ch1 handle are shared with $ch2 handle
curl_exec($ch2);

// Close the cURL share handle
curl_share_close($sh);

// Close the cURL handles
curl_close($ch1);
curl_close($ch2);
?>