If you want to enable both HTTP/1.1 pipelining and HTTP/2 multiplexing...
<?php
curl_multi_setopt($mh, CURLMOPT_PIPELINING, 3);
?>
or
<?php
curl_multi_setopt($mh, CURLMOPT_PIPELINING, CURLPIPE_HTTP1 | CURLPIPE_MULTIPLEX);
?>
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
curl_multi_setopt — Define múltiplas opções para cURL
Define uma opção no multi-manipulador cURL informado.
multi_handle
Um manipulador cURL múltiplo retornado por curl_multi_init().
option
Uma das constantes CURLMOPT_*
.
value
O valor a ser configurado em option
.
value
deve ser um int para os
seguintes valores do parâmetro option
:
Opção | Configura o value para |
---|---|
CURLMOPT_PIPELINING |
Passe 1 para habilitar ou 0 para desabilitar. Habilitar pipelining em um multi controlador irá fazer com que ele tente utilizar HTTP Pipelining quando possível para transferências usando esse controlador. Isso significa que se você adicionar uma segunda requisição que pode utilizar uma conexão já existente, a segunda requisição será transmitida ("piped") na mesma conexão. A partir do cURL 7.43.0 você também pode passar 2 para tentar fazer a nova transferência usando uma conexão HTTP/2 já existente se for possível. Passar 3 instrui o cURL a solicitar pipelining e multiplexação independentemente um do outro. A partir do cURL 7.62.0, definir o bit de pipelining não tem efeito. Ao invés de usar números inteiros literalmente, você pode usar as constantes CURLPIPE_* quando disponíveis. |
CURLMOPT_MAXCONNECTS |
Passe um número que será usado como o número máximo de conexões abertas simultaneamente que libcurl pode deixar em cache. Por padrão, o tamanho será aumentado para abranger quatro vezes o número de controladores adicionados via curl_multi_add_handle(). Quando o cache estiver cheio, o curl fecha o mais antigo para evitar que o número de conexões abertas aumentem. |
CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE |
Passe um número que especifica o limite de tamanho de cada parte para pipelining em bytes. |
CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE |
Passe um número que especifica o limite de tamanho de penalidade para pipelining em bytes. |
CURLMOPT_MAX_CONCURRENT_STREAMS |
O número definido será usado como o número máximo de fluxos concorrentes que cURL
deve suportar em conexões que usam HTTP/2. Valores válidos vão de
1 a 2147483647 (2^31 - 1 ).
O valor passado aqui seria honrado com base em outras propriedades de recursos de sistemas.
O padrão é 100 .
|
CURLMOPT_MAX_HOST_CONNECTIONS |
Passe um número que especifica o número máximo de conexões à um único host. |
CURLMOPT_MAX_PIPELINE_LENGTH |
Passe um número que especifica o número máximo de requisições em um pipeline. |
CURLMOPT_MAX_TOTAL_CONNECTIONS |
Passe um número que especifica o número máximo de conexões abertas simultaneamentes. |
CURLMOPT_PUSHFUNCTION |
Passe um callable que será registrado para manipular o servidor
pushes e deve ter a seguinte assinatura:
CURL_PUSH_OK se ele pode lidar com o push, ou
CURL_PUSH_DENY para rejeitá-lo.
|
Retorna true
em caso de sucesso ou false
em caso de falha.
Versão | Descrição |
---|---|
8.2.0 |
Introduzida a constante CURLMOPT_MAX_CONCURRENT_STREAMS .
|
8.0.0 |
O parâmetro multi_handle agora espera uma instância de CurlMultiHandle;
anteriormente, um resource era esperado.
|
7.1.0 |
Introduzido CURLMOPT_PUSHFUNCTION .
|
7.0.7 |
Introduzido CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE ,
CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE ,
CURLMOPT_MAX_HOST_CONNECTIONS ,
CURLMOPT_MAX_PIPELINE_LENGTH e
CURLMOPT_MAX_TOTAL_CONNECTIONS .
|
If you want to enable both HTTP/1.1 pipelining and HTTP/2 multiplexing...
<?php
curl_multi_setopt($mh, CURLMOPT_PIPELINING, 3);
?>
or
<?php
curl_multi_setopt($mh, CURLMOPT_PIPELINING, CURLPIPE_HTTP1 | CURLPIPE_MULTIPLEX);
?>