(PHP 5 >= 5.5.0, PHP 7, PHP 8)
curl_share_setopt — Setzt eine Option für einen cURL-Share-Handle
Setzt eine Option für einen cURL-Share-Handle.
share_handle
Ein gemeinsames cURL-Handle, das von curl_share_init() zurückgegeben wird.
option
Option | Beschreibung |
---|---|
CURLSHOPT_SHARE |
Spezifiziert, dass der gegebene Datentyp geteilt wird. |
CURLSHOPT_UNSHARE |
Spezifiziert, dass der gegebene Datentyp nicht mehr geteilt wird. |
value
Wert | Beschreibung |
---|---|
CURL_LOCK_DATA_COOKIE |
Teilt die Cookie-Daten. |
CURL_LOCK_DATA_DNS |
Teilt den DNS-Cache. Beachten Sie, dass wenn cURL-Multi-Handles genutzt werden, alle Handles mit dem gleichen cURL-Multi-Handle standardmäßig den DNS-Cache teilen. |
CURL_LOCK_DATA_SSL_SESSION |
Teilt die SSL-Session-IDs. Dies reduziert die Zeit, die für den SSL-Handshake benötigt wird, wenn eine Verbindung zu einem gleichen Server aufgebaut wird. Beachten Sie, dass standardmäßig SSL-Session-IDs im gleichen Handle wiederverwendet werden. |
Gibt bei Erfolg true
zurück. Bei einem Fehler wird false
zurückgegeben.
Version | Beschreibung |
---|---|
8.0.0 |
share_handle erwartet nun eine
CurlShareHandle-Instanz; vorher wurde eine
Ressource erwartet.
|
Beispiel #1 curl_share_setopt()-Beispiel
Dieses Beispiel erstellt einen cURL-Share-Handle, fügt diesem zwei cURL-Handles hinzu und führt diesen dann mit Cookie-Datenaustausch aus.
<?php
// Erstelle einen cURL-Share-Handle und aktiviert das Teilen von Cookies
$sh = curl_share_init();
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);
// Initalisiere den ersten cURL-Handle und weise ihm den cURL-Share-Handle zu
$ch1 = curl_init("http://example.com/");
curl_setopt($ch1, CURLOPT_SHARE, $sh);
// Führe den ersten cURL-Handle aus
curl_exec($ch1);
// Initalisiere den zweiten cURL-Handle und weise ihm den cURL-Share-Handle zu
$ch2 = curl_init("http://php.net/");
curl_setopt($ch2, CURLOPT_SHARE, $sh);
// Führe den zweiten cURL-Handle aus
// Alle Cookies aus dem ersten Handle werden auch mit dem zweiten Handle geteilt
curl_exec($ch2);
// Schließe den cURL-Share-Handle
curl_share_close($sh);
// Schließe die cURL-Handles
curl_close($ch1);
curl_close($ch2);
?>