php – MAMP SSL错误:“错误:14077410:SSL例程:SSL23_GET_SE
我在OS X Yosemite上使用MAMP在我的本地机器上开发一个网站.该网站是在HTTPS上运行的API的客户端应用程序.当我尝试从
PHP调用API时,我不断收到此错误:
error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure 相同的代码在服务器上运行,但该站点已经在生产中,因此我需要能够创建单独的开发环境.无论我使用cURL还是file_get_contents调用API,我都会得到完全相同的错误.我可以在命令行上使用cURL或在我的浏览器中加载URL,它工作正常.我花了几个小时阅读并尝试了我在本网站和其他地方找到的所有其他解决方案,但没有一个能够奏效.有没有人见过这个问题? 更新:我在发布这个问题之前终于找到了解决问题的方法,但这是一个非常痛苦的过程,无论如何我都希望它可以帮助其他人避免这种令人毛骨悚然的灾难.我的解决方案如下. 解决方法
解决方案:
> brew install openssl LDFLAGS="-L/usr/local/opt/openssl/lib" CPPFLAGS="-I/usr/local/opt/openssl/include" ./configure --prefix=/Applications/MAMP/Library/ >制作 curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false); 说明: 找到解决方案的路径始于this site,它描述了MAMP上的不同SSL错误,并建议重新编译cURL的新版本 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可以解决这个问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |