Trotz sorgfältiger Konfiguration kann es zu einem „Problem mit dem SSL“ kommen Fehler „CA-Zertifikat (Pfad? Zugriffsrechte?)“ bei Verwendung von CURL mit HTTPS in PHP. Dieses Problem kann nach der Aktualisierung von Curl-Bibliotheken auftreten.
1. Deaktivieren Sie die Überprüfung für Host und Peer:
<code class="php">curl_setopt($cHandler, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($cHandler, CURLOPT_SSL_VERIFYPEER, true);</code>
2. Aktivieren Sie CURLOPT_SSL_VERIFYPEER und definieren Sie das CA-Zertifikat:
<code class="php">curl_setopt($cHandler, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($cHandler, CURLOPT_CAINFO, getcwd() . "/positiveSSL.ca-bundle");</code>
3. Verwenden Sie das Bundle-CA-Zertifikat für den Server:
Ebenso können Sie das vom Server bereitgestellte positiveSSL.ca-Bundle ausprobieren.
4. Aktualisieren Sie die PHP-INI-Einstellungen:
Konfigurieren Sie curl.cainfo in php.ini so, dass es auf die CA-Zertifikatdatei verweist.
5. NSS-Datenbank umbenennen:
Nennen Sie die NSS-Datenbank vorübergehend um, um systemweite Zertifikate auszuschließen.
6. Bibliotheken aktualisieren und neu starten:
Ein Neustart Ihres Systems nach der Aktualisierung der Bibliotheken kann das Problem beheben.
7. Deaktivieren Sie die Überprüfung mit CURLOPT_SSL_VERIFYHOST und CURLOPT_SSL_VERIFYPEER:
Empfohlen, wenn eine Überprüfung nicht erforderlich ist.
<code class="php">curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);</code>
Wenn keine dieser Lösungen funktioniert, erwägen Sie ein Upgrade auf die neuesten Bibliotheksversionen und Neustart Ihres Systems. Alternativ können Sie sich an Ihren Hosting-Anbieter oder den Serveradministrator wenden, um festzustellen, ob bestimmte Zertifikatsprobleme Ihre Umgebung betreffen.
Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „Problem mit dem SSL-CA-Zertifikat' bei der Verwendung von CURL mit HTTPS in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!