Mac 上的 curl 报 SSLRead(56) error 相关错误的解决办法

这个问题的原因是因为OSX curl默认使用 SecureTransport 而不是OpenSSL.

在终端可以执行以下检查当前SSL version用的是SecureTransport还是OpenSSL.

$ php -i | grep "SSL Version"

如果返回结果是如下,当用curl的时候会报SSLRead() error。

SSL Version => SecureTransport

可以通过重新编译curl使其支持OpenSSL. 

编译curl支持openssl:
./configure --prefix=/usr/local/curl --without-nss --with-ssl=/usr/local/Cellar/openssl/1.0.2d_1/
make
make install

PHP中如果没添加curl扩展可以通过以下方式编译添加:

添加curl扩展
phpize
./configure --with-php-config=/usr/local/php-5.6.16/bin/php-config --with-curl=/usr/local/curl/
make
make install