在 OSX 10.10 上向 HTTPS URL 发出 Curl POST 请求时如何解决'SSLRead() 返回错误 -9806”?

Susan Sarandon
发布: 2024-10-31 08:28:02
原创
361 人浏览过

How to Solve

OSX 10.10 Curl POST 到 HTTPS URL:解决 SSLRead() 错误

升级到 OSX 10.10 Yosemite 后,用户在以下情况下遇到错误对 SSL URL 执行 Curl POST 请求。错误信息“Error Number:56, Error String:SSLRead() return error -9806”表示SSL连接有问题。

经调查,发现此错误与版本有关cURL 在 Yosemite 下用 PHP 编译。默认情况下,PHP 使用 cURL 的 SecureTransport,由于 POODLE 漏洞而禁用 SSLv3 的网站可能会遇到问题。

要解决此问题,您需要安装使用 OpenSSL 而不是 SecureTransport 的 PHP 版本对于卷曲。这可以通过 Homebrew(macOS 的包管理器)来完成。安装 Homebrew 后,请按照以下步骤操作:

  1. 点击 Homebrew 水龙头:

    $ brew tap homebrew/dupes
    $ brew tap homebrew/versions
    $ brew tap homebrew/php
    登录后复制
  2. 使用 openssl 安装curl:

    $ brew install --with-openssl curl
    登录后复制
  3. 使用新安装的curl 和 openssl 安装 PHP:

    $ brew install --with-homebrew-curl --with-httpd24 php55
    登录后复制
  4. 为 Apache 或 Nginx 配置 PHP。
  5. 安装您安装的任何 PHP 扩展require.

完成这些步骤后,运行以下命令:

$ php -i | grep "SSL Version"
登录后复制

您现在应该看到:

SSL Version => OpenSSL/1.0.2h
登录后复制

使用 OpenSSL对于 cURL,当您尝试向 HTTPS URL 发起 Curl POST 请求时,不应再出现 SSLRead() 错误。

以上是在 OSX 10.10 上向 HTTPS URL 发出 Curl POST 请求时如何解决'SSLRead() 返回错误 -9806”?的详细内容。更多信息请关注PHP中文网其他相关文章!

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