解决方案:
> brew install openssl
>下载并打开最新的cURL
>在cURL源目录中:
LDFLAGS="-L/usr/local/opt/openssl/lib" CPPFLAGS="-I/usr/local/opt/openssl/include" ./configure --prefix=/Applications/MAMP/Library/
>制作
> make install
>重启MAMP
>在PHP中,在curl_init和curl_exec之间:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
说明:
找到解决方案的路径始于this site,它描述了MAMP上的不同SSL错误,并建议重新编译cURL的新版本
–prefix = / Applications / MAMP / Library /覆盖一个MAMP使用的.我尝试了这个,但它没有用.后来,有些东西让我学习cURL编译选项,我注意到在编译时指定不同版本的OpenSSL的说明.我决定尝试一下(承诺自己这是最后的尝试然后我会放弃).我用Homebrew安装了一个最新的OpenSSL软件包,其有用的安装后信息说:
If you build your own software and it requires this formula, you'll need to add to your
build variables:
LDFLAGS: -L/usr/local/opt/openssl/lib
CPPFLAGS: -I/usr/local/opt/openssl/include
这看起来类似于我在cURL编译选项中看到的内容,它为上面指定了正确的语法:
LDFLAGS="-L/usr/local/opt/openssl/lib" CPPFLAGS="-I/usr/local/opt/openssl/include" ./configure
我添加回–prefix = / Applications / MAMP / Library /,然后是通常的make和make install,重新启动MAMP,并松了一口气.
后来我发现我从其他网站抛出的一个cURL选项也是必要的,以避免不同的SSL错误(“SSL证书问题:无法获得本地颁发者证书”).将CURLOPT_SSL_VERIFYPEER设置为false可以解决这个问题.