curl_share_setopt

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

curl_share_setoptConfigura uma opção para um identificador de compartilhamento cURL

Descrição

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

Configura uma opção no identificador de compartilhamento cURL informado.

Parâmetros

share_handle

Um manipulador cURL de compartilhamento retornado por curl_share_init().

option

Opção Descrição
CURLSHOPT_SHARE Especifica um tipo de dado que deve ser compartilhado.
CURLSHOPT_UNSHARE Especifica um tipo de dado que não será mais compartilhado.
value

Valor Descrição
CURL_LOCK_DATA_COOKIE Compartilha dados de cookies.
CURL_LOCK_DATA_DNS Compartilha o cache de DNS. Note que quando forem utilizados multi-identificadores cURL, todos os identificadores adicionados ao mesmo multi-identificador irão compartilhar o cache de DNS por padrão.
CURL_LOCK_DATA_SSL_SESSION Compartilha IDs de sessão SSL, reduzindo o tempo gasto no manuseio da conexão SSL ao reconectar no mesmo servidor. Note que IDs de sessão SSL são reusados no mesmo identificador por padrão.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Registro de Alterações

Versão Descrição
8.0.0 O parâmetro share_handle agora espera uma instância de CurlShareHandle; anteriormente, um resource era esperado.

Exemplos

Example #1 Exemplo de curl_share_setopt()

Este exemplo irá criar um identificador de compartilhamento de cURL, adicionar dois identificadores cURL nele, e então executá-los com o compartilhamento de cookies.

<?php
// Cria o identificador de compartilhamento de cURL e configura-o para compartilhar os cookies
$sh = curl_share_init();
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);

// Inicializa o primeiro identificador cURL e atribui o identificador de compartilhamento à ele
$ch1 = curl_init("http://example.com/");
curl_setopt($ch1, CURLOPT_SHARE, $sh);

// Executa o primeiro identificador cURL
curl_exec($ch1);

// Inicializa o segundo identificador cURL e atribui o identificador de compartilhamento à ele
$ch2 = curl_init("http://php.net/");
curl_setopt($ch2, CURLOPT_SHARE, $sh);

// Executa o segundo identificador cURL
// Todos os cookies do identificador $ch1 são compartilhados com o identificador $ch2
curl_exec($ch2);

// Fecha o identificador de compartilhamento cURL
curl_share_close($sh);

// Fecha os identificadores cURL
curl_close($ch1);
curl_close($ch2);
?>