Heim > Artikel > Backend-Entwicklung > Wie behebt man den „SSLRead()-Rückgabefehler -9806“ in Curl-POST-Anfragen unter OSX 10.10 Yosemite?
SSLRead()-Fehler im Curl POST zur HTTPS-URL unter OSX 10.10 Yosemite
Problem:
Nach dem Upgrade auf OSX 10.10 Yosemite schlagen CURL-POST-Anfragen an HTTPS-URLs mit dem Fehler fehl:
Error Number:56 Error String:SSLRead() return error -9806
Ursache:
Dieser Fehler tritt auf, wenn PHP aktiviert ist kompiliert mit einer Version von cURL, die Apples Secure Transport unter Yosemite verwendet, und die Ziel-URL unterstützt kein SSLv3.
Lösung:
Um dieses Problem zu beheben, installieren Sie a Version von PHP, die eine Version von cURL verwendet, die OpenSSL anstelle von Secure Transport verwendet. Hier sind die Schritte:
1. Überprüfen Sie die cURL-Version:
php -i | grep "SSL Version"
Wenn die Ausgabe „SecureTransport“ lautet, fahren Sie mit dem nächsten Schritt fort.
2. Homebrew installieren:
brew install homebrew/core/homebrew brew update
3. Tippen Sie auf Erforderliche Repositorys:
brew tap homebrew/dupes brew tap homebrew/versions brew tap homebrew/php
4. cURL mit OpenSSL installieren:
brew install --with-openssl curl
5. Installieren Sie PHP mit Homebrew cURL und OpenSSL:
brew install --with-homebrew-curl --with-httpd24 php55
6. Konfigurieren Sie Apache (falls verwendet):
Fügen Sie die folgende Zeile zu /etc/apache2/httpd.conf hinzu:
LoadModule php5_module /usr/local/opt/php55/libexec/apache2/libphp5.so
7. Starten Sie PHP-FPM für Nginx (falls verwendet):
mkdir -p ~/Library/LaunchAgents cp /usr/local/opt/php55/homebrew.mxcl.php55.plist ~/Library/LaunchAgents/ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist
8. Installieren Sie PHP-Erweiterungen (optional):
brew install php55-mcrypt
9. Überprüfen Sie OpenSSL:
php -i | grep "SSL Version"
Die Ausgabe sollte „OpenSSL/1.0.2h“ anzeigen.
Jetzt sollten Ihre CURL POST-Anfragen an HTTPS-URLs ohne den SSLRead()-Fehler erfolgreich sein .
Das obige ist der detaillierte Inhalt vonWie behebt man den „SSLRead()-Rückgabefehler -9806“ in Curl-POST-Anfragen unter OSX 10.10 Yosemite?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!