如何在MAMP中升级OpenSSL

时间:2012-08-08 21:01:16

标签: php openssl mamp

我在Mac OS X 10.6.8上使用MAMP 2.1 - 这附带了PHP的OpenSSL扩展,但只有0.9版本 - 我需要将其升级到1.0 - 但是我不知道我会怎样这样做一个任务。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

您可以按照这些说明操作 我是从here

得到的
  

升级步骤

     

1)确保安装了XCode命令行工具。

     

我们需要一个C编译器和其他库来升级cURL。   因此,启动一个终端,您将继续使用该终端   这个文件。

     

xcode-select --install

     

2)安装Homebrew的OpenSSL库

     

目标是针对提供的OpenSSL库编译cURL   http://brew.sh,如果您还没有安装自制软件,请关注   他们网站上的说明或谨慎运行此命令:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
     

接下来,安装OpenSSL库:

brew install openssl
     

3)检查MAMP附带的cURL版本

     

我们只是想确认我们正在使用哪个版本的cURL,因为我们   想从官方cURL下载并安装相同的版本   网站,haxx.se

/Applications/MAMP/Library/bin/curl-config --version
The command should return with version 7.43.0
     

确保在完成后续步骤之前退出MAMP!

     

4)下载cURL来源

     

从官方网站下载cURL的源代码   curl.haxx.se/download或直接获取它:

cd ~/Downloads
wget https://curl.haxx.se/download/curl-7.43.0.tar.gz
     

接下来,将tarball和cd解压缩到工作目录

tar xzvf curl-7.43.0.tar.gz
cd curl-7.43.0
     

5)下载CA /证书包并提取到MAMP

     

默认情况下,cURL不附带任何CA文件或捆绑包。您可以   找到你自己的源,或从这里下载ca-bundle.tgz文件   存储库(https://github.com/lunr/mamp-curl-tls)并提取到   MAMP:

tar xzvf ca-bundle.tgz -C /Applications/MAMP
     

6)编译cURL

     

在工作目录中执行以下configure命令   cURL源代码:

./configure --prefix=/Applications/MAMP/Library --with-ssl=/usr/local/Cellar/openssl/1.0.2g --with-ca-path=/Applications/MAMP/etc/openssl/certs --with-ca-bundle=/Applications/MAMP/etc/openssl/certs/ca-bundle.crt
     

此命令专门针对自制软件构建   OpenSSL库和您在步骤5中下载的CA包。您可以   如果您愿意,可以添加自己的选项。

     

命令完成后,您应该输出完全相同的输出   这样:

curl version:     7.43.0
Host setup:       x86_64-apple-darwin15.4.0
Install prefix:   /Applications/MAMP/Library
Compiler:         gcc
SSL support:      enabled (OpenSSL)
SSH support:      no      (--with-libssh2)
zlib support:     enabled
GSS-API support:  no      (--with-gssapi)
TLS-SRP support:  enabled
resolver:         default (--enable-ares / --enable-threaded-resolver)
IPv6 support:     enabled
Unix sockets support: enabled
IDN support:      no      (--with-{libidn,winidn})
Build libcurl:    Shared=yes, Static=yes
Built-in manual:  enabled
--libcurl option: enabled (--disable-libcurl-option)
Verbose errors:   enabled (--disable-verbose)
SSPI support:     no      (--enable-sspi)
ca cert bundle:   /Applications/MAMP/etc/openssl/certs/ca-bundle.crt
ca cert path:     /Applications/MAMP/etc/openssl/certs
LDAP support:     enabled (OpenLDAP)
LDAPS support:    enabled
RTSP support:     enabled
RTMP support:     no      (--with-librtmp)
metalink support: no      (--with-libmetalink)
HTTP2 support:    disabled (--with-nghttp2)
Protocols:        DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS LDAP LDAPS POP3 POP3S RTSP SMB SMBS SMTP SMTPS TELNET TFTP
     

具体来说,请查看安装前缀和ca证书路径以及ca的行   cert捆绑并确认它们指向MAMP的目录。

     

如果是这样,继续,否则,有关配置的错误   命令

     

7)安装新的cURL库

make && make install
     

8)重启MAMP并确认OpenSSL版本

     

打开MAMP应用程序并启动服务器。你可以使用phpinfo()   在phpinfo()的curl部分确认OpenSSL版本。它   应阅读SSL版本:OpenSSL / 1.0.2g