首页 >后端开发 >php教程 >为什么我在 OSX 10.10 上的 Curl POST 请求中遇到 SSLRead() 错误以及如何修复它?

为什么我在 OSX 10.10 上的 Curl POST 请求中遇到 SSLRead() 错误以及如何修复它?

Linda Hamilton
Linda Hamilton原创
2024-11-02 23:16:30625浏览

Why am I getting an SSLRead() Error with Curl POST Requests on OSX 10.10 and How Can I Fix It?

SSLRead() 错误:对 OSX 10.10 上的 Curl POST 请求进行故障排除

升级到 OSX 10.10 Yosemite 可能会导致 SSLRead() 错误尝试将 POST 请求发送到 HTTPS URL。出现此问题的原因是 cURL 依赖 Apple 的安全传输,这可能会禁用 SSLv3 作为安全措施。

识别问题

要确认,请执行以下命令:

$ php -i | grep "SSL Version"

您可能会看到以下结果:

SSL Version => SecureTransport

解决问题

要解决此问题,请安装使用 OpenSSL 的 PHP 版本

步骤:

  1. 安装 Homebrew 并更新它。
  2. 添加所需的 Homebrew 水龙头:

    $ brew tap homebrew/dupes
    $ brew tap homebrew/versions
    $ brew tap homebrew/php
  3. 使用 OpenSSL 安装curl:

    $ brew install --with-openssl curl
  4. 使用新安装的curl 安装 PHP:

    $ brew install --with-homebrew-curl --with-httpd24 php55
  5. 如果使用 Apache,请将 LoadModule php5_module /usr/local/opt/php55/libexec/apache2/libphp5.so 附加到 /etc/apache2/httpd.conf。
  6. 对于 Nginx,请按照说明启动 FPM。
  7. 安装所需的 PHP 扩展(例如,brew install php55-mcrypt)
  8. 重新运行检查 ($ php -i | grep "SSL Version") 以验证 OpenSSL 使用情况。

SSLRead() 错误现在应该已解决。

以上是为什么我在 OSX 10.10 上的 Curl POST 请求中遇到 SSLRead() 错误以及如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!

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