cURL Fehler 60 SSL in WordPress – wie man es behebt [Anleitung]

Download fehlgeschlagen. cURL Fehler 60: SSL certificate – wie man es behebt in WordPress

Fehler cURL Fehler 60: SSL certificate problem: unable to get local issuer certificate tritt in WordPress normalerweise beim Versuch auf, Plugins, Themes oder den WP-Kern selbst zu installieren oder zu aktualisieren – überall dort, wo WordPress sich über HTTPS mit einem externen Server verbindet (z. B. api.wordpress.org).


Was bedeutet dieser Fehler eigentlich

Code 20 in OpenSSL (unable to get local issuer certificate) bedeutet, dass der Server die SSL-Zertifikatskette der Zielseite nicht überprüfen kann, da die lokale Datei mit vertrauenswürdigen Root-Zertifikaten (CA Bundle) veraltet, beschädigt oder in der PHP-/cURL-Konfiguration überhaupt nicht angegeben ist. Dies ist kein Problem mit dem Zertifikat der Seite, die WordPress abfragen versucht – das Problem liegt auf Ihrem Server.

Notiz
Die häufigsten Ursachen sind: veraltete Datei cacert.pem auf dem Server, fehlender oder fehlerhafter Pfad zum CA Bundle in der PHP-Konfiguration (curl.cainfo, openssl.cafile), veraltete Version von OpenSSL/cURL im System und veraltete Datei wp-includes/certificates/ca-bundle.crt in WordPress selbst.

Lösung 1: Aktualisierung der ca-bundle.crt in WordPress

WordPress behält eine eigene Kopie der Root-Zertifikate in der Datei wp-includes/certificates/ca-bundle.crt. Das ist der erste Ort zum Überprüfen.

  1. Laden Sie die aktuelle Datei aus der neuesten WordPress-Version herunter (neuestes ZIP-Archiv von wordpress.org oder direkt aus dem WordPress Core GitHub-Repository).
  2. Ersetzen Sie die Datei auf dem Server über FTP/SFTP oder das Hosting-Panel am Standort wp-includes/certificates/ca-bundle.crt.
  3. Legen Sie Berechtigungen fest 644 auf der Datei.
  4. Löschen Sie eventuellen Objektcache (Redis/Memcached) und versuchen Sie es erneut.
Hinweis
Dies ist die einfachste und in den meisten Fällen die wirksamste Methode, da WordPress in der Regel diese Datei als CURLOPT_CAINFOverwendet, wenn PHP keine eigene Einstellung hat.

Lösung 2: Aktualisierung des CA-Bundle auf Serverebene (System/PHP)

Wenn der Dateiaustausch in WordPress nicht hilft, liegt das Problem in der Serverkonfiguration selbst – also im System-cURL/OpenSSL, das PHP unabhängig von WordPress-Dateien nutzt.

Auf Linux-Servern (Debian/Ubuntu):

sudo apt update sudo apt install --reinstall ca-certificates sudo update-ca-certificates

Auf Servern mit CentOS/AlmaLinux/RHEL:

sudo yum reinstall ca-certificates sudo update-ca-trust

Manuelle Aktualisierung der cacert.pem für PHP

Wenn Sie keinen Root-Zugriff auf das System haben (typisches Shared Hosting), laden Sie die aktuelle Datei herunter cacert.pem direkt von curl.se:

cacert.pem herunterladen

Laden Sie sie auf den Server hoch (z. B. in ein Verzeichnis außerhalb von public_html, damit es nicht öffentlich zugänglich ist) und geben Sie es an in php.ini:

curl.cainfo = "/pfad/zu/cacert.pem" openssl.cafile = "/pfad/zu/cacert.pem"

Nach der Änderung php.ini starten Sie PHP-FPM oder Apache neu, je nach Konfiguration:

sudo systemctl restart php8.2-fpm sudo systemctl restart apache2
Info
Wenn Sie keinen Zugriff auf php.ini haben (Shared Hosting), erlauben einige Hosting-Anbieter, Einstellungen über .user.ini im Website-Verzeichnis zu überschreiben: curl.cainfo = "/home/ihrbenutzer/cacert.pem"

Lösung 3: Wenn Sie HestiaCP oder einen eigenen VPS verwenden

Bei eigener Serververwaltung lohnt es sich, zwei weitere Dinge zu überprüfen:

  • Die OpenSSL-Version – wenn das System alt ist (z. B. Ubuntu 18.04, das nicht mehr unterstützt wird), kann allein ein Upgrade von ca-certificates nicht ausreichen, da die neueren Root-Zertifikate in den Repositories fehlen. In diesem Fall hilft nur eine Systemaktualisierung oder das manuelle Hochladen von cacert.pem.
  • Separate PHP-Versionen für verschiedene Domains – wenn Sie mehrere Websites mit unterschiedlichen PHP-Versionen hosten, stellen Sie sicher, dass curl.cainfo für die richtige PHP-FPM-Version eingestellt ist, da jede Version ein separates php.ini.
Warnung
Auf veralteten Betriebssystemen kann allein ein Update des Pakets ca-certificates das Problem nicht lösen, wenn auch die Systemrepositories veraltet sind. In diesem Fall ist das manuelle Hochladen einer aktuellen die einzige sichere Lösung cacert.pem oder Systemaktualisierung.

So überprüfen Sie, ob das Problem behoben wurde

Auf Serverebene können Sie die SSL-Verbindung direkt über cURL im Terminal überprüfen:

curl -v https://api.wordpress.org/

Wenn kein Fehler im Protokoll angezeigt wird unable to get local issuer certificate, ist die Konfiguration bereits korrekt und WordPress sollte wieder ohne Probleme Updates abrufen können.

Zusätzlich ist es ratsam zu überprüfen, welche CA-Datei auf PHP-Ebene tatsächlich verwendet wird:

<?php
var_dump(ini_get('curl.cainfo'));
var_dump(ini_get('openssl.cafile'));

Zusammenfassung

Der cURL-Fehler 60 in WordPress ist in den meisten Fällen ein Problem mit einer veralteten Root-Zertifikatsdatei und nicht mit dem Fehler selbst WordPressa.

SchrittAktion
1Ersetzen wp-includes/certificates/ca-bundle.crt mit dem aktuellen
2Aktualisieren ca-certificates auf Systemebene
3Hochladen manuell cacert.pem und geben Sie es in an php.ini oder .user.ini
4Starten Sie PHP-FPM/Apache neu und testen Sie mit curl -v
Erfolg
In der Praxis genügt meist Schritt 1 oder 2 – zur manuellen Konfiguration cacert.pem müssen Sie hauptsächlich auf älteren oder nicht aktualisierten Servern greifen.

Hinterlassen Sie einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Warenkorb

Schließen

Ihr Warenkorb ist leer.

Einkaufen beginnen

Seitenleiste