(PHP 5 >= 5.5.0, PHP 7, PHP 8)
curl_share_setopt — Définit une option du gestionnaire partagé cURL
Définit une option sur le gestionnaire partagé cURL fourni.
share_handle
Un gestionnaire cURL partagé retourné par curl_share_init().
option
Option | Description |
---|---|
CURLSHOPT_SHARE |
Spécifie un type de données qui doivent être partagées. |
CURLSHOPT_UNSHARE |
Spécifie un type de données qui ne doivent plus être partagées. |
value
Valeur | Description |
---|---|
CURL_LOCK_DATA_COOKIE |
Cookie de données partagées. |
CURL_LOCK_DATA_DNS |
Cache DNS partagé. Notez que lorsque vous utilisez des gestionnaires multiples cURL, chaque gestionnaire ajouté au même gestionnaire multiple partage le cache DNS par défaut.. |
CURL_LOCK_DATA_SSL_SESSION |
Identifiants de session partagés SSL, réduisant le temps passé sur la négociation SSL lors d'une reconnexion sur le même serveur. Notez que les identifiants de session SSL sont ré-utilisés dans le même gestionnaire par défaut. |
Cette fonction retourne true
en cas de succès ou false
si une erreur survient.
Version | Description |
---|---|
8.0.0 |
share_handle attend désormais une instance de CurlShareHandle;
auparavant; une resource était attendue.
|
Exemple #1 Exemple avec curl_share_setopt()
Cet exemple va créer un gestionnaire partagé cURL, y ajoute deux gestionnaires cURL, puis, les exécute avec des cookies de données partagées.
<?php
// Crée un gestionnaire partagé cURL et le définit pour partager les cookies de données
$sh = curl_share_init();
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);
// Initialise le premier gestionnaire cURL et y assigne le gestionnaire partagé
$ch1 = curl_init("http://example.com/");
curl_setopt($ch1, CURLOPT_SHARE, $sh);
// Exécute le premier gestionnaire cURL
curl_exec($ch1);
// Initialise le secon gestionnaire cURL et y assigne le gestionnaire partagé
$ch2 = curl_init("http://php.net/");
curl_setopt($ch2, CURLOPT_SHARE, $sh);
// Exécute le second gestionnaire cURL
// Tous les cookies depuis le gestionnaire $ch1 sont partagés avec le gestionnaire $ch2
curl_exec($ch2);
// Ferme le gestionnaire partagé cURL
curl_share_close($sh);
// Ferme les gestionnaires cURL
curl_close($ch1);
curl_close($ch2);
?>