CURL_SHARE_SETOPT(3) 1 CURL_SHARE_SETOPT(3)
curl_share_setopt - Set an option for a cURL share handle.
SYNOPSIS
bool curl_share_setopt (resource $sh, int $option, string $value)
DESCRIPTION
Sets an option on the given cURL share handle.
PARAMETERS
o $sh
- A cURL share handle returned by curl_share_init(3).
o $option
-
+------------------+--------------------------------------+---+
| Option | | |
| | | |
| | Description | |
| | | |
+------------------+--------------------------------------+---+
| | | |
| CURLSHOPT_SHARE | | |
| | | |
| | Specifies a type of data that | |
| | should be shared. | |
| | | |
| | | |
|CURLSHOPT_UNSHARE | | |
| | | |
| | Specifies a type of data that will | |
| | be no longer shared. | |
| | | |
+------------------+--------------------------------------+---+
o $value
-
+---------------------------+--------------------------------------+---+
| Value | | |
| | | |
| | Description | |
| | | |
+---------------------------+--------------------------------------+---+
| | | |
| CURL_LOCK_DATA_COOKIE | | |
| | | |
| | Shares cookie data. | |
| | | |
| | | |
| CURL_LOCK_DATA_DNS | | |
| | | |
| | Shares DNS cache. Note that when | |
| | you use cURL multi handles, all han- | |
| | dles added to the same multi handle | |
| | will share DNS cache by default. | |
| | | |
| | | |
|CURL_LOCK_DATA_SSL_SESSION | | |
| | | |
| | Shares SSL session IDs, reducing | |
| | the time spent on the SSL handshake | |
| | when reconnecting to the same | |
| | server. Note that SSL session IDs | |
| | are reused within the same handle by | |
| | default. | |
| | | |
+---------------------------+--------------------------------------+---+
RETURN VALUES
Returns TRUE on success or FALSE on failure.
EXAMPLES
Example #1
curl_share_setopt(3) 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);
?>
PHP Documentation Group CURL_SHARE_SETOPT(3)