更新时间:2021-12-04 00:51:54
解决方案:
brew install openssl
在cURL源目录中:
brew install openssl
In the cURL source directory:
LDFLAGS="-L/usr/local/opt/openssl/lib" CPPFLAGS="-I/usr/local/opt/openssl/include" ./configure --prefix=/Applications/MAMP/Library/
make
make install
, curl_init
和 curl_exec
之间:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
说明:
找到解决方案的路径以此网站,它描述了MAMP上的一个不同的SSL错误,并建议用 - prefix = / Applications / MAMP / Library /
覆盖MAMP使用的一个。我试过这个,但它没有工作。后来,有东西让我学习cURL编译选项,我注意到在编译它时指定不同版本的OpenSSL的说明。我决定尝试(答应自己,这是最后的尝试,然后我会放弃)。我安装了一个最新的OpenSSL包与Homebrew,它有用的安装后信息说:
The path to finding the solution started with this site, which describes a different SSL error on MAMP, and suggests recompiling a fresh version of cURL with--prefix=/Applications/MAMP/Library/
to overwrite the one MAMP uses. I tried this but it didn't work. Later, something possessed me to study the cURL compile options, and I noticed instructions for specifying a different version of OpenSSL when compiling it. I decided to give it a try (promising myself that this was the last attempt and then I would give up). I installed an up to date OpenSSL package with Homebrew, and its helpful post-install info said:
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编译选项中看到的,它为上述指定了正确的语法:
That looked similar to something I saw in the cURL compile options, which specified the correct syntax for the above:
LDFLAGS="-L/usr/local/opt/openssl/lib" CPPFLAGS="-I/usr/local/opt/openssl/include" ./configure
我在 - prefix = / Applications / MAMP / Library /
中添加了后面的 code>和
make install
,重新启动MAMP,并释放叹息。
I added back in the --prefix=/Applications/MAMP/Library/
, followed by the usual make
and make install
, restarted MAMP, and sighed with relief.
我后来发现,我从另一个网站投入的一个cURL选项也是必要的,以避免不同的SSL错误(SSL证书问题:无法获取本地发行人证书)。将 CURLOPT_SSL_VERIFYPEER
设置为false解决了一个对我。
I later discovered that one of the cURL options I had thrown in from another website was also necessary to avoid a different SSL error ("SSL certificate problem: unable to get local issuer certificate"). Setting CURLOPT_SSL_VERIFYPEER
to false solved that one for me.