Wie behebt man den „SSLRead()-Rückgabefehler -9806', wenn Curl-POST-Anfragen an HTTPS-URLs unter OSX 10.10 gestellt werden?

Susan Sarandon
Freigeben: 2024-10-31 08:28:02
Original
362 Leute haben es durchsucht

How to Solve

OSX 10.10 Curl POST to HTTPS URL: Fehlerbehebung beim SSLRead()-Fehler

Nach dem Upgrade auf OSX 10.10 Yosemite ist bei Benutzern ein Fehler aufgetreten Durchführen von Curl-POST-Anfragen an SSL-URLs. Die Fehlermeldung „Fehlernummer:56, Fehlerzeichenfolge:SSLRead() gibt Fehler -9806 zurück“ weist auf ein Problem mit der SSL-Verbindung hin.

Bei der Untersuchung wurde festgestellt, dass dieser Fehler mit der Version von zusammenhängt cURL, die mit PHP unter Yosemite kompiliert wird. Standardmäßig verwendet PHP SecureTransport von cURL, wodurch es zu Problemen mit Websites kommen kann, die SSLv3 aufgrund der POODLE-Schwachstelle deaktiviert haben.

Um dieses Problem zu beheben, müssen Sie eine PHP-Version installieren, die OpenSSL anstelle von SecureTransport verwendet für cURL. Dies kann über Homebrew erfolgen, einen Paketmanager für macOS. Führen Sie nach der Installation von Homebrew die folgenden Schritte aus:

  1. Tippen Sie auf die Homebrew-Taps:

    $ brew tap homebrew/dupes
    $ brew tap homebrew/versions
    $ brew tap homebrew/php
    Nach dem Login kopieren
  2. Installieren Sie Curl mit OpenSSL:

    $ brew install --with-openssl curl
    Nach dem Login kopieren
  3. Installieren Sie PHP mit dem neu installierten Curl und OpenSSL:

    $ brew install --with-homebrew-curl --with-httpd24 php55
    Nach dem Login kopieren
  4. Konfigurieren Sie PHP für Apache oder Nginx.
  5. Installieren Sie alle PHP-Erweiterungen, die Sie benötigen erforderlich.

Sobald Sie diese Schritte abgeschlossen haben, führen Sie den folgenden Befehl aus:

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

Sie sollten jetzt sehen:

SSL Version => OpenSSL/1.0.2h
Nach dem Login kopieren

Mit OpenSSL verwendet Für cURL sollte der SSLRead()-Fehler nicht mehr auftreten, wenn Sie Curl-POST-Anfragen an HTTPS-URLs versuchen.

Das obige ist der detaillierte Inhalt vonWie behebt man den „SSLRead()-Rückgabefehler -9806', wenn Curl-POST-Anfragen an HTTPS-URLs unter OSX 10.10 gestellt werden?. 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!