curl_multi_setopt
(PHP 5 >= 5.5.0, PHP 7)
curl_multi_setopt — cURL マルチハンドル用のオプションを設定する
説明
curl_multi_setopt
( CurlMultiHandle $multi_handle
, int $option
, mixed $value
) : bool
警告 この関数は、 現在のところ詳細な情報はありません。引数のリストのみが 記述されています。
パラメータ
multi_handle
option
CURLMOPT_*
定数のいずれか。value
option
に設定する値。value
には int 型の値を指定しなければいけません。option
パラメータの値によって、それぞれ次のようになります。オプション value
の設定値CURLMOPT_PIPELINING
1 を渡せば有効に、そして 0 を渡せば無効になります。 マルチハンドルでのパイプライン化を有効にすると、このハンドルによる転送で、 可能な限り HTTP パイプライン化を試みます。 つまり、二番目のリクエストを追加したときに既存の接続が使える場合は、 既存の接続に「パイプ」でつなぎます。 cURL 7.43.0 以降では、この値はビットマスクですが、 2 を渡すと、既存の HTTP/2 接続上での新しい転送で、 可能な限り多重化を試みます。 3 を渡すと、パイプライン化と多重化を互いに独立して行うよう cURL に指示します。 cURL 7.62.0 以降は、パイプライン化のbitを設定しても効果はありません。
CURLMOPT_MAXCONNECTS
同時に開く接続の最大数を指定します。これを libcurl がキャッシュします。 デフォルトのサイズは、 curl_multi_add_handle() で追加したハンドル数の四倍に収まるように拡大されます。 キャッシュがいっぱいになると、キャッシュ内で一番古い接続を閉じ、 開いている接続の数が増えないようにします。
CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE
パイプライン化のチャンク長の閾値をバイト単位で指定します。 CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE
パイプライン化のペナルティの閾値をバイト単位で指定します。 CURLMOPT_MAX_HOST_CONNECTIONS
単一のホストへの最大接続数を指定します。 CURLMOPT_MAX_PIPELINE_LENGTH
単一のパイプライン内での最大リクエスト数を指定します。 CURLMOPT_MAX_TOTAL_CONNECTIONS
同時にオープンする接続の最大数を指定します。 CURLMOPT_PUSHFUNCTION
サーバープッシュを扱うために登録される callable を渡し、以下のようなシグナチャをとります:
pushfunction ( resource
$parent_ch
, resource$pushed_ch
, array$headers
) : intparent_ch
親となる cURL ハンドル(クライアントが作成したリクエストの)
pushed_ch
プッシュされたリクエストのための、新しい cURL ハンドル
headers
プッシュのためのプロミスヘッダ
プッシュ関数自体は、プッシュをハンドルできる場合は
CURL_PUSH_OK
を返し、 拒否する場合は、CURL_PUSH_DENY
を返すことが想定されています。
返り値
成功した場合に true
を、失敗した場合に false
を返します。
変更履歴
バージョン | 説明 |
---|---|
8.0.0 | multi_handle は CurlMultiHandle クラスのインスタンスを期待するようになりました。
これより前のバージョンでは、resource を期待していました。 |
7.1.0 | CURLMOPT_PUSHFUNCTION が追加されました。
|
7.0.7 | CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE 、
|