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 ?
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 :
Appuyez sur les robinets Homebrew :
$ brew tap homebrew/dupes $ brew tap homebrew/versions $ brew tap homebrew/php
Installez curl avec openssl :
$ brew install --with-openssl curl
Installez PHP en utilisant le curl nouvellement installé et openssl :
$ brew install --with-homebrew-curl --with-httpd24 php55
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!