Signatur
Beschreibung
curl_strerror() übersetzt einen numerischen cURL-Fehlercode in eine englische Klartextbeschreibung. Dies ist nützlich, um beim Debugging und in Log-Ausgaben verständliche Fehlermeldungen anstatt nichtssagender Zahlen anzuzeigen.
Die Funktion arbeitet mit den cURL-Konstanten (z. B. CURLE_COULDNT_CONNECT) sowie mit numerischen Fehlercodes, die von curl_errno() zurückgegeben werden. Sie ist besonders hilfreich in Kombination mit curl_errno(), wenn man einen detaillierten Fehlertext ausgeben möchte, der über die von curl_error() gelieferte Meldung hinausgeht oder diese ergänzt.
Ist der übergebene Fehlercode unbekannt oder ungültig, gibt die Funktion dennoch einen String zurück – dieser beschreibt dann einen unbekannten Fehler. Es wird keine Exception geworfen und auch kein false zurückgegeben.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $error_code Pflicht | int | Numerischer cURL-Fehlercode, z. B. von curl_errno() oder eine CURLE_*-Konstante. |
Rückgabewert
"Unknown error" zurückgegeben.Beispiele
Fehlercode nach fehlgeschlagenem Request ausgeben
<?php
$ch = curl_init('https://nicht-erreichbar.example.com/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
$response = curl_exec($ch);
if ($response === false) {
$errno = curl_errno($ch);
$errmsg = curl_strerror($errno);
echo "cURL-Fehler #{$errno}: {$errmsg}" . PHP_EOL;
// Zusätzlich die von cURL gelieferte Fehlermeldung ausgeben
echo "Detail: " . curl_error($ch) . PHP_EOL;
}
curl_close($ch);
cURL-Konstante direkt in Text übersetzen
<?php
// Bekannte cURL-Fehlerkonstanten in lesbare Strings umwandeln
$codes = [
CURLE_OK,
CURLE_COULDNT_CONNECT,
CURLE_OPERATION_TIMEDOUT,
CURLE_SSL_CERTPROBLEM,
];
foreach ($codes as $code) {
printf("Code %3d: %s\n", $code, curl_strerror($code));
}
// Wichtig · Fallstricke
Sprachhinweis: Die von curl_strerror() zurückgegebenen Meldungen sind stets auf Englisch und können nicht lokalisiert werden – sie stammen direkt aus der libcurl-Bibliothek.
Unterschied zu curl_error(): curl_error() liefert die kontextspezifische Fehlermeldung der zuletzt ausgeführten cURL-Operation für ein bestimmtes Handle, während curl_strerror() eine allgemeine Beschreibung zu einem beliebigen Fehlercode liefert – unabhängig von einem Handle.
Die Funktion ist ab PHP 5.5.0 verfügbar und erfordert, dass die cURL-Erweiterung installiert und aktiviert ist.