Wie behebt man den „SSLRead()-Rückgabefehler -9806' in Curl-POST-Anfragen unter OSX 10.10 Yosemite?

Patricia Arquette
Freigeben: 2024-11-02 00:46:30
Original
668 Leute haben es durchsucht

How to Fix

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
Nach dem Login kopieren

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"
Nach dem Login kopieren
Nach dem Login kopieren

Wenn die Ausgabe „SecureTransport“ lautet, fahren Sie mit dem nächsten Schritt fort.

2. Homebrew installieren:

brew install homebrew/core/homebrew
brew update
Nach dem Login kopieren

3. Tippen Sie auf Erforderliche Repositorys:

brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/php
Nach dem Login kopieren

4. cURL mit OpenSSL installieren:

brew install --with-openssl curl
Nach dem Login kopieren

5. Installieren Sie PHP mit Homebrew cURL und OpenSSL:

brew install --with-homebrew-curl --with-httpd24 php55
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

8. Installieren Sie PHP-Erweiterungen (optional):

brew install php55-mcrypt
Nach dem Login kopieren

9. Überprüfen Sie OpenSSL:

php -i | grep "SSL Version"
Nach dem Login kopieren
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!