首页  >  文章  >  后端开发  >  如何修复 OSX 10.10 Yosemite 上的 Curl POST 请求中的“SSLRead() 返回错误 -9806”?

如何修复 OSX 10.10 Yosemite 上的 Curl POST 请求中的“SSLRead() 返回错误 -9806”?

Patricia Arquette
Patricia Arquette原创
2024-11-02 00:46:30669浏览

How to Fix

在 OSX 10.10 Yosemite 上 Curl POST 到 HTTPS URL 时出现 SSLRead() 错误

问题:

升级到 OSX 10.10 Yosemite 后,对 HTTPS URL 的 CURL POST 请求失败,并出现错误:

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

原因:

当 PHP 运行时会发生此错误使用在 Yosemite 下使用 Apple 安全传输的 cURL 版本编译,目标 URL 不支持 SSLv3。

解决方案:

要解决此问题,请安装使用 cURL 版本的 PHP 版本,该版本使用 OpenSSL 而不是安全传输。步骤如下:

1.检查 cURL 版本:

php -i | grep "SSL Version"

如果输出为“SecureTransport”,请继续下一步。

2.安装自制程序:

brew install homebrew/core/homebrew
brew update

3.点击所需的存储库:

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

4。使用 OpenSSL 安装 cURL:

brew install --with-openssl curl

5。使用 Homebrew cURL 和 OpenSSL 安装 PHP:

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

6.配置 Apache(如果使用):

将以下行添加到 /etc/apache2/httpd.conf:

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

7.为 nginx 启动 PHP-FPM(如果使用):

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.安装 PHP 扩展(可选):

brew install php55-mcrypt

9.验证 OpenSSL:

php -i | grep "SSL Version"

输出应显示“OpenSSL/1.0.2h。”

现在,您对 HTTPS URL 的 CURL POST 请求应该成功,且不会出现 SSLRead() 错误.

以上是如何修复 OSX 10.10 Yosemite 上的 Curl POST 请求中的“SSLRead() 返回错误 -9806”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn