Php/docs/function.curl-share-setopt

提供:Dev Guides
< Php
移動先:案内検索

curl_share_setopt

(PHP 5 >= 5.5.0, PHP 7)

curl_share_setoptcURL 共有ハンドルのオプションを設定する


説明

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

指定した cURL 共有ハンドルに、オプションを設定します。


パラメータ

share_handle

curl_share_init() が返す cURL 共有ハンドル

option
{| ! オプション ! 説明 |- | CURLSHOPT_SHARE | 共有させるデータの種類を指定します。 |- | CURLSHOPT_UNSHARE | 共有させないデータの種類を指定します。 |}
value
{| ! 値 ! 説明 |- | CURL_LOCK_DATA_COOKIE | クッキーのデータを共有する。 |- | CURL_LOCK_DATA_DNS | DNS キャッシュを共有する。cURL マルチハンドルを使うときには、 同じマルチハンドルに追加されたすべてのハンドルがデフォルトで DNS キャッシュを共有することに注意しましょう。 |- | CURL_LOCK_DATA_SSL_SESSION | SSL セッション ID を共有し、同一サーバーへの再接続時の SSL ハンドシェイクの所要時間を削減する。 同じハンドル内では、デフォルトで SSL セッション ID が再利用されることに注意しましょう。 |}


返り値

成功した場合に true を、失敗した場合に false を返します。


変更履歴

バージョン 説明
8.0.0 share_handleCurlShareHandle クラスのインスタンスを期待するようになりました。

これより前のバージョンでは、resource を期待していました。


例1 curl_share_setopt() の例

この例は、cURL 共有ハンドルを作って二つの cURL ハンドルを追加し、 それぞれを実行してクッキーのデータを共有します。


<?php// cURL 共有ハンドルを作り、クッキーのデータを共有させます$sh = curl_share_init();curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);// 最初の cURL ハンドルを作り、共有ハンドルを割り当てます$ch1 = curl_init("http://example.com/%22);curl_setopt($ch1, CURLOPT_SHARE, $sh);// 最初の cURL ハンドルを実行しますcurl_exec($ch1);// 二番目の cURL ハンドルを作り、共有ハンドルを割り当てます$ch2 = curl_init("http://php.net/%22);curl_setopt($ch2, CURLOPT_SHARE, $sh);// 二番目の cURL ハンドルを実行します//  $ch1 ハンドルのすべてのクッキーを、$ch2 ハンドルと共有しますcurl_exec($ch2);// cURL 共有ハンドルを閉じますcurl_share_close($sh);// cURL ハンドルを閉じますcurl_close($ch1);curl_close($ch2);?>