如何使用Apache PHP在OSX 10.11.6上使用OpenSSL而不是SecureTransport

时间:2017-01-12 14:17:08

标签: php macos apache ssl curl

我最近将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() errorhttps://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?

1 个答案:

答案 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