Heim  >  Artikel  >  Backend-Entwicklung  >  Wie behebt man den „SSLRead()-Rückgabefehler -9806“ in Curl-POST-Anfragen unter OSX 10.10 Yosemite?

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

Patricia Arquette
Patricia ArquetteOriginal
2024-11-02 00:46:30669Durchsuche

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

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!

Stellungnahme:
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