2017-01-12 39 views
2

我最近在Mac上将PHP版本从El Capitan的默认值升级到了7.1。由于这样做,当我试图向本地托管的Web服务发出请求时,我收到以下错误: cURL error 35: SSL: CA certificate set, but certificate verification is disabled。该服务向网页发出curl请求,在网页中服务解释并生成一些数据。我如何在OSX 10.11.6上使用OpenSSL代替SecureTransport和Apache PHP

我认为我已经跟踪了错误,因为PHP使用的SSL版本是SecureTransport。当我向Ubuntu机器上托管的相同服务发出相同请求时,没有任何问题。本机使用的SSL版本是OpenSSL/1.0.2g

我已经尝试使用osx 10.10 Curl POST to HTTPS url gives SSLRead() errorhttps://www.farces.com/wikis/naked-server/php/php-7-openssl/尝试让我的本地版本的PHP使用OpenSSL,但都没有完全成功。当我在终端上运行php -i | grep "SSL Version"时,我得到SSL Version => OpenSSL/1.0.2j,但看着<?php phpinfo(); ?>,我仍然得到SSL Version SecureTransport

没有在我的机器上抛出无意义的命令,是否有一个简单的原因,我可以让Apache版本的PHP也使用OpenSSL而不是SecureTransport?

回答

0

我在macOS上使用普通卷曲并获得相同的错误。 curl -l https://www.ferrari.com。 解决方案是使用home brew安装curl openSSL。

brew install curl --with-openssl 

然后你需要使用这个版本的curl并自己构建php。

试试这个:

brew uninstall php56 && brew install php56 --with-homebrew-curl 
相关问题