PHPCon Poland 2024

curl_share_init

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

curl_share_initInitialisiert einen cURL-Share-Handle

Beschreibung

curl_share_init(): CurlShareHandle

Erlaubt es Daten zwischen cURL-Handle zu teilen.

Parameter-Liste

Diese Funktion besitzt keine Parameter.

Rückgabewerte

Gibt einen cURL-Share-Handle zurück.

Changelog

Version Beschreibung
8.0.0 Diese Funktion gibt nun eine Instanz der Klasse CurlShareHandle zurück; vorher wurde eine Ressource zurückgegeben.

Beispiele

Beispiel #1 curl_share_init()-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);
?>

Siehe auch

add a note

User Contributed Notes 1 note

up
0
Robert Chapin
6 years ago
Cookie handling is DISABLED by default. The following must be used prior to CURLOPT_SHARE.

curl_setopt($ch1, CURLOPT_COOKIEFILE, "");
curl_setopt($ch2, CURLOPT_COOKIEFILE, "");

Also, do not attempt to use CURLOPT_SHARE with curl_setopt_array because this can cause the options to be set in the wrong order, which will fail.
To Top