函式名:curl_share_init()
適用版本:PHP 5.5.0 及以上版本
用法:curl_share_init() 函式用於建立一個新的 CurlShare 控制代碼,用於共享 curl 控制代碼之間的資料。
語法:resource curl_share_init( void )
返回值:返回一個 CurlShare 控制代碼,如果建立失敗則返回 false。
示例:
// 建立 CurlShare 控制代碼
$shareHandle = curl_share_init();
// 設定共享的選項,如 COOKIE 和 DNS 快取
curl_share_setopt($shareHandle, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);
curl_share_setopt($shareHandle, CURLSHOPT_SHARE, CURL_LOCK_DATA_DNS);
// 建立多個 Curl 控制代碼
$ch1 = curl_init();
$ch2 = curl_init();
// 設定共享控制代碼到每個 Curl 控制代碼
curl_setopt($ch1, CURLOPT_SHARE, $shareHandle);
curl_setopt($ch2, CURLOPT_SHARE, $shareHandle);
// 設定每個 Curl 控制代碼的 URL
curl_setopt($ch1, CURLOPT_URL, 'http://www.example.com/api1');
curl_setopt($ch2, CURLOPT_URL, 'http://www.example.com/api2');
// 執行 Curl 請求
curl_exec($ch1);
curl_exec($ch2);
// 關閉 Curl 控制代碼
curl_close($ch1);
curl_close($ch2);
在上面的示例中,我們首先使用 curl_share_init()
函式建立了一個 CurlShare 控制代碼 $shareHandle
,然後使用 curl_share_setopt()
函式設定了需要共享的選項,包括 COOKIE 和 DNS 快取。
接著,我們建立了兩個 Curl 控制代碼 $ch1
和 $ch2
,使用 curl_setopt()
函式將共享控制代碼設定到每個 Curl 控制代碼中,然後設定了各自的 URL。
最後,我們分別執行了 $ch1
和 $ch2
的 Curl 請求,並關閉了 Curl 控制代碼。
透過使用 CurlShare 控制代碼,我們可以在多個 Curl 控制代碼之間共享某些資料,提高請求的效率和效能。