- PHP Manual
- cURL 函式
- 為 cURL 共享控制代碼設定選項。
curl_share_setopt
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
curl_share_setopt — 為 cURL 共享控制代碼設定選項。
說明
curl_share_setopt(resource
$sh
, int $option
, string $value
): bool為給定的 cURL 共享控制代碼設定一個選項。
參數
-
sh
-
一個由curl_share_init()函式返回的 cURL 共享控制代碼。
-
option
-
Option Description CURLSHOPT_SHARE
指定要共享的數據型別。 CURLSHOPT_UNSHARE
指定不再共享的數據型別。 -
value
-
Value Description CURL_LOCK_DATA_COOKIE
共享 cookie 數據。 CURL_LOCK_DATA_DNS
共享 DNS 快取。注意,當你使用 cURL 多控制代碼時,預設所有新增在同一個多控制代碼的控制代碼都將會共享 DNS 快取。 CURL_LOCK_DATA_SSL_SESSION
共享 SSL 的 session ID, 在重連同樣的伺服器時減少 SSL 握手時間。注意,SSL 的 session ID 在同一個的控制代碼中預設是重複使用的。
返回值
成功時返回 true
, 或者在失敗時返回 false
。
範例
示例 #1 curl_share_setopt() 函式的範例:
以下範例將會建立一個 cURL 共享控制代碼,並且往其中新增兩個 cURL 控制代碼,最後共享這兩個 cURL 控制代碼的 cookie 數據執行。
<?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);
?>