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".
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.
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.
Ä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.
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.
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.
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.