Home  >  Article  >  Backend Development  >  How to Fix \"SSLRead() return error -9806\" in Curl POST Requests on OSX 10.10 Yosemite?

How to Fix \"SSLRead() return error -9806\" in Curl POST Requests on OSX 10.10 Yosemite?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-02 00:46:30669browse

How to Fix

SSLRead() Error in Curl POST to HTTPS URL on OSX 10.10 Yosemite

Issue:

After upgrading to OSX 10.10 Yosemite, CURL POST requests to HTTPS URLs are failing with the error:

Error Number:56
Error String:SSLRead() return error -9806

Cause:

This error occurs when PHP is compiled with a version of cURL that uses Apple's Secure Transport under Yosemite, and the target URL does not support SSLv3.

Solution:

To resolve this issue, install a version of PHP that uses a version of cURL that uses OpenSSL instead of Secure Transport. Here are the steps:

1. Check cURL Version:

php -i | grep "SSL Version"

If the output is "SecureTransport," proceed to the next step.

2. Install Homebrew:

brew install homebrew/core/homebrew
brew update

3. Tap Required Repositories:

brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/php

4. Install cURL with OpenSSL:

brew install --with-openssl curl

5. Install PHP with Homebrew cURL and OpenSSL:

brew install --with-homebrew-curl --with-httpd24 php55

6. Configure Apache (if using):

Add the following line to /etc/apache2/httpd.conf:

LoadModule php5_module    /usr/local/opt/php55/libexec/apache2/libphp5.so

7. Start PHP-FPM for nginx (if using):

mkdir -p ~/Library/LaunchAgents
cp /usr/local/opt/php55/homebrew.mxcl.php55.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist

8. Install PHP Extensions (optional):

brew install php55-mcrypt

9. Verify OpenSSL:

php -i | grep "SSL Version"

The output should show "OpenSSL/1.0.2h."

Now, your CURL POST requests to HTTPS URLs should succeed without the SSLRead() error.

The above is the detailed content of How to Fix \"SSLRead() return error -9806\" in Curl POST Requests on OSX 10.10 Yosemite?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn