Maison > développement back-end > tutoriel php > 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
Libérer: 2024-10-31 08:28:02
original
423 Les gens l'ont consulté

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
    Copier après la connexion
  2. Installez curl avec openssl :

    $ brew install --with-openssl curl
    Copier après la connexion
  3. Installez PHP en utilisant le curl nouvellement installé et openssl :

    $ brew install --with-homebrew-curl --with-httpd24 php55
    Copier après la connexion
  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"
Copier après la connexion

Vous devriez maintenant voir :

SSL Version => OpenSSL/1.0.2h
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal