我最近将Mac上的PHP版本从El Capitan的默认版升级到7.1版。由于这样做,当我尝试向本地托管的Web服务发出请求时,我收到以下错误:
SecureTransport
。该服务向网页发出curl请求,服务对其进行解释并生成一些数据。
我认为我已经跟踪了错误,因为PHP使用的SSL版本是OpenSSL/1.0.2g
。当我对Ubuntu机器上托管的同一服务发出相同的请求时,没有问题。此计算机上使用的SSL版本为php -i | grep "SSL Version"
。
我尝试使用osx 10.10 Curl POST to HTTPS url gives SSLRead() error和https://www.farces.com/wikis/naked-server/php/php-7-openssl/尝试让我的本地版本的PHP使用OpenSSL,但两者都没有完全成功。当我在终端中运行SSL Version => OpenSSL/1.0.2j
时,我得到<?php phpinfo(); ?>
但是看SSL Version SecureTransport
,我仍然得到button
。
在我的机器上不再抛出漫无目的的命令,是否有一个简单的原因,我可以让Apache的PHP版本也使用OpenSSL而不是SecureTransport?
答案 0 :(得分:2)
我在macOS上使用普通卷曲并得到同样的错误。 curl -l https://www.ferrari.com
。
解决方案是使用家庭酿造用openSSL安装curl。
brew install curl --with-openssl
然后你需要使用这个版本的curl并自己构建php。
试试这个:
brew uninstall php56 && brew install php56 --with-homebrew-curl