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

Patricia Arquette
发布: 2024-11-02 00:46:30
原创
668 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!