curl_share_setopt în PHP

cURL și email PHP 5.5+

Alege ce date sunt partajate între cererile cURL care folosesc un obiect de partajare.

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

Ce face curl_share_setopt

Cu CURLSHOPT_SHARE adaugi un tip de date partajat, iar cu CURLSHOPT_UNSHARE îl scoți. Tipuri: CURL_LOCK_DATA_COOKIE (cookie-uri), CURL_LOCK_DATA_DNS (cache DNS), CURL_LOCK_DATA_SSL_SESSION (sesiuni TLS, conexiuni securizate mai rapide), CURL_LOCK_DATA_CONNECT (conexiuni deschise).

Pentru o opțiune necunoscută, PHP aruncă ValueError.

Parametri

Parametru Descriere
$share_handle Obiectul de partajare.
$option CURLSHOPT_SHARE sau CURLSHOPT_UNSHARE.
$value Tipul de date, o constantă CURL_LOCK_DATA_*.

Ce returnează

true la succes, false la eroare.

Exemple

Exemplul 1: Partajarea DNS și a sesiunilor TLS

<?php
$share = curl_share_init();

var_dump(curl_share_setopt($share, CURLSHOPT_SHARE, CURL_LOCK_DATA_DNS));
var_dump(curl_share_setopt($share, CURLSHOPT_SHARE, CURL_LOCK_DATA_SSL_SESSION));
echo "Eroare: " . curl_share_errno($share);

Rezultat

bool(true)
bool(true)
Eroare: 0

Greșeli frecvente

  • Dai ca opțiune direct tipul de date: curl_share_setopt($s, CURL_LOCK_DATA_DNS, true). Opțiunea este CURLSHOPT_SHARE, iar tipul de date este valoarea.

Comenzi înrudite

  • curl_share_init: Creează un obiect prin care mai multe cereri cURL partajează cookie-uri, cache DNS sau conexiuni.
  • curl_share_errno: Returnează codul ultimei erori a unui obiect de partajare cURL (0 dacă nu a fost eroare).