Der si­gni­fi­kan­tes­te Vorteil von PHP-cURL liegt in seiner Fähigkeit, eine Vielzahl von Da­ten­über­tra­gungs­an­for­de­run­gen zu be­wäl­ti­gen und gleich­zei­tig eine nahtlose In­te­gra­ti­on von APIs zu er­mög­li­chen. In diesem Artikel lernen Sie alles zur Syntax und Funk­ti­ons­wei­se der PHP-Er­wei­te­rung.

Was ist PHP-cURL?

PHP-cURL steht für „Curl URL Request Library“ und ist eine Er­wei­te­rung für die Pro­gram­mier­spra­che PHP, die eine Schnitt­stel­le zum Senden von HTTP-Anfragen und zur Kom­mu­ni­ka­ti­on über ver­schie­de­ne Netz­werk­pro­to­kol­le wie HTTP, HTTPS oder FTP darstellt. Mit cURL können Sie Header, Parameter und Daten hin­zu­fü­gen oder ändern, um den An­for­de­run­gen von APIs gerecht zu werden.

Wie in­stal­liert man PHP-cURL?

Wenn Sie cURL in PHP verwenden möchten, müssen Sie nor­ma­ler­wei­se nicht cURL selbst in­stal­lie­ren, da es eine ein­ge­bau­te Er­wei­te­rung ist. Al­ler­dings müssen Sie si­cher­stel­len, dass die cURL-Er­wei­te­rung in Ihrer PHP-In­stal­la­ti­on aktiviert ist. Sie können prüfen, ob cURL bereits funk­tio­niert, indem Sie eine PHP-Datei erstellen und darin folgenden Code ausführen:

phpinfo();
php

Suchen Sie auf der ge­ne­rier­ten Seite nach cURL support oder ähnlichen In­for­ma­tio­nen, um zu sehen, ob PHP-cURL aktiviert ist. Falls cURL nicht aktiv ist, müssen Sie die php.ini-Datei be­ar­bei­ten. Lo­ka­li­sie­ren Sie darin den Ausdruck ;extension=php_curl.dll für cURL in Windows oder ;extension=curl für cURL in Linux. Entfernen Sie dann das Semikolon „;“ vor der Zeile, um die cURL-Er­wei­te­rung ein­zu­schal­ten. Speichern Sie die Datei und starten Sie den Webserver neu, damit die Än­de­run­gen wirksam werden.

In unserem PHP-Tutorial lernen Sie die wich­tigs­ten Grund­la­gen der PHP-Pro­gram­mie­rung, die es­sen­zi­ell für die Nutzung von cURL sind. Wenn Sie mehr über die Vor- und Nachteile der PHP-Pro­gram­mier­spra­che erfahren möchten, können Sie sich die Ver­glei­che zwischen PHP vs. Python und PHP vs. Ja­va­Script im IONOS Digital Guide anschauen.

So sieht die Syntax von PHP-cURL aus

Die Syntax von PHP-cURL besteht aus ver­schie­de­nen Funk­tio­nen und Optionen, um eine cURL-Session zu kon­fi­gu­rie­ren, Anfragen durch­zu­füh­ren und mit den Er­geb­nis­sen zu arbeiten.

Schritt 1: In­itia­li­sie­ren einer cURL-Session

$curl = curl_init();
php

Schritt 2: Setzen von Optionen

curl_setopt($curl, CURLOPT_URL, 'https://example.com/api'); // definiert die URL
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // setzt das Ergebnis der Anfrage als Rückgabewert
php

Schritt 3: Ausführen der cURL-Anfrage

$response = curl_exec($curl);
php

Schritt 4: Schließen der cURL-Session

curl_close($curl);
php
Tipp

Deploy Now von IONOS be­schleu­nigt Ihre Ent­wick­lungs­zy­klen und minimiert Aus­fall­zei­ten. Entdecken Sie flexible Be­reit­stel­lungs­stra­te­gien für Ihre Web-Projekte mit Deploy Now.

Welche cURL-Funk­tio­nen gibt es in PHP?

Es steht eine Vielzahl an PHP-Funk­tio­nen zur Verfügung, mit denen Sie HTTP-Anfragen erstellen oder Dateien hochladen können. Es ist auch möglich, mit PHP In­for­ma­tio­nen aus einer MySQL-Datenbank abzurufen und diese dann als JSON über cURL zu senden.

Hier sind einige der wich­tigs­ten cURL-Funk­tio­nen in PHP:

  • curl_init: In­itia­li­siert eine neue cURL-Session und gibt ein cURL-Handle zurück.
  • curl_setopt: Setzt Optionen für die cURL-Session. Hier werden Parameter wie die URL, Header oder Au­then­ti­fi­zie­rungs­me­tho­den fest­ge­legt. Sie können auch mit PHP-cURL POST-Daten angeben, die an den Server gesendet werden sollen.
  • curl_exec: Führt die cURL-Session aus und liefert die Antwort als String zurück.
  • curl_close: Schließt die cURL-Session und gibt die Res­sour­cen frei.
  • curl_setopt_array: Definiert eine Reihe von cURL-Optionen in einem einzigen Aufruf.
  • curl_getinfo: Gibt In­for­ma­tio­nen über die letzte cURL-Session zurück, wie die URL oder den HTTP-Sta­tus­code
  • curl_error: Gibt die Feh­ler­mel­dung der letzten cURL-Anfrage zurück.
  • curl_errno: Gibt den Feh­ler­code der letzten cURL-Anfrage zurück.
  • curl_multi_init: In­itia­li­siert einen Multi-cURL-Handle, mit dem Sie mehrere cURL-Anfragen gleich­zei­tig durch­füh­ren können.
  • curl_multi_add_handle: Fügt eine cURL-Session zu einem Multi-cURL-Handle hinzu.
  • curl_multi_exec: Führt die Multi-cURL-Anfragen aus.
  • curl_multi_get­con­tent: Gibt den Inhalt der Antwort für eine bestimmte cURL-Session im Multi-cURL-Handle zurück.
IONOS Ent­wick­ler API
Verwalten Sie Ihre IONOS Hosting-Produkte über unsere leis­tungs­star­ken APIs
  • DNS-Ma­nage­ment
  • SSL-Ver­wal­tung
  • API-Do­ku­men­ta­ti­on

Ein Beispiel für die Anwendung von cURL in PHP

Indem Sie eigene PHP-Klassen erstellen, können Sie den Code modularer gestalten, wie­der­ver­wend­ba­re Methoden de­fi­nie­ren und die Im­ple­men­tie­rung von PHP-cURL in Ihren Ap­pli­ka­tio­nen ver­ein­fa­chen.

Hier ist ein Beispiel, wie eine PHP-Klasse in Ver­bin­dung mit PHP-cURL GET aussehen könnte:

class MyCurlClient {
    private $curl;
    public function __construct() {
        $this->curl = curl_init();
        // Weitere Konfigurationen können hier erfolgen
    }
    public function sendRequest($url) {
        curl_setopt($this->curl, CURLOPT_URL, $url);
        curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, true);
        
        $response = curl_exec($this->curl);
        return $response;
    }
    public function close() {
        curl_close($this->curl);
    }
}
// Verwendung der eigenen Klasse
$myCurl = new MyCurlClient();
$response = $myCurl->sendRequest('https://example.com/api');
echo $response;
$data = json_decode($response, true);
// Ausgabe der Daten mit PHP-Operatoren
echo "Post ID: " . $data['id'] . "<br>";
echo "Title: " . $data['title'] . "<br>";
echo "Body: " . $data['body'] . "<br>";
$myCurl->close();
php

In diesem Beispiel haben wir die Klasse „My­Curl­Cli­ent“ erstellt, die eine PHP-cURL-Session in ihrem Kon­struk­tor behandelt. Die Methode sen­d­Re­quest() nimmt eine URL entgegen, kon­fi­gu­riert die cURL-Optionen und führt die HTTP GET-Anfrage aus. Die aus­ge­ge­be­nen Zei­chen­ket­ten werden mit PHP-Ope­ra­to­ren an­ein­an­der­ge­reiht. Schließ­lich verwenden wir die Funktion close(), um die cURL-Session zu beenden.

IONOS Cloud Object Storage
Daten sicher und günstig speichern

Ersetzen Sie eigene, kos­ten­in­ten­si­ve Spei­cher­lö­sun­gen mit IONOS Cloud Object Storage. Es ist hoch­gra­dig ska­lier­bar, äußerst kos­ten­ef­fi­zi­ent und in­te­griert sich in Ihre An­wen­dungs­sze­na­ri­en. Die extrem hohe Aus­fall­si­cher­heit unserer Server sowie eine in­di­vi­du­el­le Zu­griffs­steue­rung schützen Ihre Daten zu­ver­läs­sig.

Zum Hauptmenü