Aktueller Standort: Startseite> Neueste Artikel> Lösen Sie das gemeinsame Problem, dass PHP nach der Installation von SSL -Zertifikaten auf IIS keine Daten erhalten kann

Lösen Sie das gemeinsame Problem, dass PHP nach der Installation von SSL -Zertifikaten auf IIS keine Daten erhalten kann

gitbox 2025-06-30

Lösung für die Unfähigkeit von PHP, Daten zu erhalten, nachdem das SSL -Zertifikat auf IIS installiert wurde

Mit dem zunehmenden Bewusstsein für die Netzwerksicherheit ist die Installation von SSL -Zertifikaten in Webservern immer wichtiger geworden. In der Windows -Umgebung ist IIS ein häufig verwendeter Webserver. Bei der Entwicklung einer Website mit PHP kann PHP nach der Installation eines SSL -Zertifikats möglicherweise keine externen HTTPS -Ressourcen erhalten. Dieses Problem manifestiert sich normalerweise als Fehler wie "CURL ERROR 60: SSL -Zertifikatsproblem: Nicht in der Lage, lokales Emittentenzertifikat zu erhalten".

Problemanalyse

Nach der Installation eines SSL -Zertifikats auf IIS kann es möglicherweise nicht in der Lage sein, das SSL -Zertifikat zu überprüfen, wenn PHP HTTPS -Ressourcen anfordert, da das SSL/TLS -Protokoll standardmäßig nicht unterstützt wird, was zu einem Ausfall der Datenerfassung führt. Der Schlüssel zur Lösung dieses Problems ist die ordnungsgemäße Konfiguration des SSL -Support- und Root -Zertifikats von PHP.

Lösung

1. Laden Sie die Stammzertifikatdatei des SSL -Zertifikats herunter

Zunächst müssen Sie die Root -Zertifikat -Datei von der Website der SSL -Zertifikatbehörde herunterladen und auf das angegebene Verzeichnis des Servers speichern.

2. Konfigurieren Sie die Php.ini -Datei

Ändern Sie als Nächstes die Php.ini -Datei des PHP, um sicherzustellen, dass die SSL -Erweiterung aktiviert und der richtige Root -Zertifikat -Pfad konfiguriert ist. Öffnen Sie die Php.ini -Datei, suchen und bestätigen Sie die folgenden Konfigurationselemente:

 extension=php_openssl.dll
 curl.cainfo = "C:/path/to/your/cacert.pem"

Wobei "c: /path/to/your/cacert.pem" durch den tatsächlichen Root -Zertifikat -Pfad ersetzt werden sollte.

3. Konfigurieren Sie die Curl -Bibliothek für HTTPS -Anforderungen

PHP verwendet normalerweise die Curl -Bibliothek für HTTP -Anforderungen. Um sicherzustellen, dass Curl das SSL -Zertifikat bei der Initiierung von HTTPS -Anforderungen überprüfen kann, ist eine relevante Konfiguration erforderlich. Hier ist ein Beispielcode:

 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, 'https://example.com/api');
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
 curl_setopt($ch, CURLOPT_CAINFO, 'C:/path/to/your/cacert.pem');
 $result = curl_exec($ch);
 curl_close($ch);
 echo $result;

In diesem Code aktivieren wir die Überprüfung der SSL -Zertifikat, indem wir Curl -Optionen konfigurieren, um die Sicherheit der Anforderung sicherzustellen.

4.. Testen Sie, ob die Konfiguration effektiv ist

Nach Abschluss der Konfiguration können Sie testen, ob PHP Daten erfolgreich erhalten, indem Sie eine HTTPS -Site besuchen. Bei korrekter Konfiguration sollte PHP in der Lage sein, normalerweise auf HTTPS -Ressourcen zugreifen zu können.

Zusammenfassen

In den oben genannten Schritten können Sie das Problem, dass PHP nach der Installation von SSL -Zertifikaten auf IIS keine HTTPS -Daten erhalten, effektiv lösen. Richtige Konfiguration der Php.ini -Datei und der Verwendung der CURL -Bibliothek stellen sicher, dass PHP das SSL -Zertifikat bei HTTPS -Anforderungen überprüfen kann und die Sicherheit der Datenerfassung sicherstellt. Passen Sie bitte den Konfigurationspfad an die tatsächliche Situation an und stellen Sie die Gültigkeit des SSL -Zertifikats sicher.

Ich hoffe, dieser Artikel hilft Ihnen, verwandte Probleme zu lösen und den sicheren und ordnungsgemäßen Betrieb der Website zu gewährleisten.