Maison  >  Article  >  développement back-end  >  Comment résoudre « l'erreur de retour SSLRead() -9806 » lors de l'exécution de requêtes Curl POST vers des URL HTTPS sous OSX 10.10 ?

Comment résoudre « l'erreur de retour SSLRead() -9806 » lors de l'exécution de requêtes Curl POST vers des URL HTTPS sous OSX 10.10 ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-31 08:28:02352parcourir

How to Solve

OSX 10.10 Curl POST vers HTTPS URL : dépannage de l'erreur SSLRead()

Après la mise à niveau vers OSX 10.10 Yosemite, les utilisateurs ont rencontré une erreur lorsque effectuer des requêtes Curl POST vers des URL SSL. Le message d'erreur "Error Number:56, Error String:SSLRead() return error -9806" indique un problème avec la connexion SSL.

Après enquête, il a été découvert que cette erreur est liée à la version de cURL compilé avec PHP sous Yosemite. Par défaut, PHP utilise SecureTransport de cURL, ce qui peut rencontrer des problèmes avec les sites Web qui ont désactivé SSLv3 en raison de la vulnérabilité POODLE.

Pour résoudre ce problème, vous devrez installer une version de PHP qui utilise OpenSSL au lieu de SecureTransport. pour curl. Cela peut être fait via Homebrew, un gestionnaire de packages pour macOS. Après avoir installé Homebrew, suivez ces étapes :

  1. Appuyez sur les robinets Homebrew :

    $ brew tap homebrew/dupes
    $ brew tap homebrew/versions
    $ brew tap homebrew/php
  2. Installez curl avec openssl :

    $ brew install --with-openssl curl
  3. Installez PHP en utilisant le curl nouvellement installé et openssl :

    $ brew install --with-homebrew-curl --with-httpd24 php55
  4. Configurez PHP pour Apache ou Nginx.
  5. Installez toutes les extensions PHP dont vous avez besoin.

Une fois que vous avez terminé ces étapes, exécutez la commande suivante :

$ php -i | grep "SSL Version"

Vous devriez maintenant voir :

SSL Version => OpenSSL/1.0.2h

Avec OpenSSL utilisé pour cURL, l'erreur SSLRead() ne devrait plus se produire lorsque vous tentez des requêtes Curl POST vers des URL HTTPS.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn