Comment réparer \'SSLRead() return error -9806\' dans les requêtes Curl POST sur OSX 10.10 Yosemite ?

Patricia Arquette
Libérer: 2024-11-02 00:46:30
original
668 Les gens l'ont consulté

How to Fix

Erreur SSLRead() dans Curl POST vers l'URL HTTPS sur OSX 10.10 Yosemite

Problème :

Après la mise à niveau vers OSX 10.10 Yosemite, les requêtes CURL POST vers les URL HTTPS échouent avec l'erreur :

Error Number:56
Error String:SSLRead() return error -9806
Copier après la connexion

Cause :

Cette erreur se produit lorsque PHP est compilé avec une version de cURL qui utilise Secure Transport d'Apple sous Yosemite, et l'URL cible ne prend pas en charge SSLv3.

Solution :

Pour résoudre ce problème, installez un version de PHP qui utilise une version de cURL qui utilise OpenSSL au lieu de Secure Transport. Voici les étapes :

1. Vérifiez la version de cURL :

php -i | grep "SSL Version"
Copier après la connexion
Copier après la connexion

Si le résultat est « SecureTransport », passez à l'étape suivante.

2. Installez Homebrew :

brew install homebrew/core/homebrew
brew update
Copier après la connexion

3. Appuyez sur Dépôts requis :

brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/php
Copier après la connexion

4. Installez cURL avec OpenSSL :

brew install --with-openssl curl
Copier après la connexion

5. Installez PHP avec Homebrew cURL et OpenSSL :

brew install --with-homebrew-curl --with-httpd24 php55
Copier après la connexion

6. Configurez Apache (si vous l'utilisez) :

Ajoutez la ligne suivante à /etc/apache2/httpd.conf :

LoadModule php5_module    /usr/local/opt/php55/libexec/apache2/libphp5.so
Copier après la connexion

7. Démarrez PHP-FPM pour nginx (si vous l'utilisez) :

mkdir -p ~/Library/LaunchAgents
cp /usr/local/opt/php55/homebrew.mxcl.php55.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist
Copier après la connexion

8. Installez les extensions PHP (facultatif) :

brew install php55-mcrypt
Copier après la connexion

9. Vérifiez OpenSSL :

php -i | grep "SSL Version"
Copier après la connexion
Copier après la connexion

La sortie devrait afficher "OpenSSL/1.0.2h."

Maintenant, vos requêtes CURL POST vers les URL HTTPS devraient réussir sans l'erreur SSLRead() .

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!