- PHP Manual
- cURL 函数
- 为 cURL 共享句柄设置选项。
curl_share_setopt
(PHP 5 >= 5.5.0, PHP 7)
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
。
范例
Example #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/%22);curl_setopt($ch1, CURLOPT_SHARE, $sh);// Execute the first cURL handlecurl_exec($ch1);// Initialize the second cURL handle and assign the share handle to it$ch2 = curl_init("http://php.net/%22);curl_setopt($ch2, CURLOPT_SHARE, $sh);// Execute the second cURL handle// all cookies from $ch1 handle are shared with $ch2 handlecurl_exec($ch2);// Close the cURL share handlecurl_share_close($sh);// Close the cURL handlescurl_close($ch1);curl_close($ch2);?>