Heim >Backend-Entwicklung >PHP-Tutorial >Warum schlägt mein Curl-POST an die HTTPS-URL mit dem SSLRead()-Fehler unter OSX 10.10 fehl?
OSX 10.10 Curl POST to HTTPS URL Gibt SSLRead()-Fehler zurück
Dieses Problem tritt auf, wenn PHP mit einer cURL-Version kompiliert wird, die Apples verwendet Sicherer Transport in Yosemite, und der Ziel-HTTPS-URL fehlt SSLv3-Unterstützung – eine Maßnahme, die aufgrund der POODLE-Schwachstelle ergriffen wurde.
Um zu überprüfen, ob dies tatsächlich die Ursache ist, führen Sie den folgenden Befehl aus:
$ php -i | grep "SSL Version"
Sie werden wahrscheinlich auf die folgende Ausgabe stoßen:
SSL Version => SecureTransport
Um das Problem zu beheben, installieren Sie eine PHP-Version, die eine cURL-Version verwendet, die OpenSSL anstelle von SecureTransport nutzt. Sie können dies problemlos mit Homebrew erreichen.
Tippen Sie auf die Homebrew-Repositorys:
Installieren Sie Curl mit OpenSSL:
Installieren Sie PHP mit dem neu installierten openSL-curl :
Für Apache/Nginx konfigurieren:
Nginx (Vorbehalt):
Starte fpm:
Führen Sie php -i | erneut aus grep „SSL Version“-Befehl zum Bestätigen der Änderung:
Beim Ausführen dieser Schritte sollte der SSLRead()-Fehler nicht mehr bestehen bleiben.
Das obige ist der detaillierte Inhalt vonWarum schlägt mein Curl-POST an die HTTPS-URL mit dem SSLRead()-Fehler unter OSX 10.10 fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!