Maison > développement back-end > tutoriel php > Comment réparer « SSLRead() renvoie l'erreur -9806 » après la mise à niveau vers OSX 10.10 Yosemite ?

Comment réparer « SSLRead() renvoie l'erreur -9806 » après la mise à niveau vers OSX 10.10 Yosemite ?

Susan Sarandon
Libérer: 2024-11-02 10:23:02
original
474 Les gens l'ont consulté

How to Fix

Résolu : Curl POST vers l'URL HTTPS après la mise à niveau vers OSX 10.10 Yosemite

Si vous avez rencontré l'erreur "Erreur de retour SSLRead() -9806" après la mise à niveau vers OSX 10.10 Yosemite, vous n'êtes pas seul. Ce problème survient lors des requêtes Curl POST vers des URL SSL.

Le problème vient du fait que php est actuellement compilé avec des versions cURL qui utilisent le transport sécurisé d'Apple sous Yosemite. Cependant, de nombreuses URL cibles pour ces requêtes ne prennent plus en charge SSLv3, qui a été désactivé en raison de la vulnérabilité POODLE.

Solution

Pour résoudre ce problème, vous allez vous devez installer une version php qui utilise cURL avec OpenSSL au lieu de Secure Transport. Voici un guide étape par étape :

  1. Vérifier la version SSL : Exécutez la commande "$ php -i | grep "SSL Version"" pour confirmer que cURL utilise SecureTransport .
  2. Installer Homebrew : Si vous ne l'avez pas déjà fait, installez Homebrew pour gérer les packages logiciels. Mettez à jour Homebrew et installez les taps nécessaires : "$brew tap homebrew/dupes; Brew Tap homebrew/versions; Brew Tap homebrew/php."
  3. Installez Curl avec OpenSSL : "brew install - -with-openssl curl."
  4. Installer php et Openssl : "brew install --with-homebrew-curl --with-httpd24 php55."
  5. Configurer Apache ou Nginx :

    • Apache : Ajouter "LoadModule php5_module /usr/local/opt/php55/libexec/apache2/libphp5.so" vers "/etc/apache2/httpd.conf" et redémarrez Apache.
    • Nginx : Suivez les instructions d'avertissement pour démarrer fpm.
  6. Installez les extensions PHP : Installez toutes les extensions php nécessaires, telles que "brew install php55-mcrypt."
  7. Revérifiez la version SSL : Exécutez "$ php -i | grep "SSL Version"" à nouveau pour garantir qu'OpenSSL est utilisé.

Maintenant, l'"erreur de retour SSLRead() -9806" ne devrait plus apparaître 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