6

我在 Mac OS X 10.6.8 上使用 MAMP 2.1 - 这带有 PHP 的 OpenSSL 扩展,但只有 0.9 版 - 我需要将其升级到 1.0 - 但是我不确定我将如何完成这样的任务。有人可以帮忙吗?

4

1 回答 1

4

你可以按照我从这里得到的这些说明

升级步骤

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

我们将需要一个 C 编译器和其他库来升级 cURL。因此,启动一个终端,您将继续在本文档中的每个步骤中使用它。

xcode-select --install

2) 安装 Homebrew 的 OpenSSL 库

目标是针对 http://brew.sh提供的 OpenSSL 库编译 cURL ,因此,如果您尚未安装自制软件,请按照其网站上的说明进行操作,或者谨慎运行以下命令:

/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.haxx.se/download 下载 cURL 的源代码或直接获取:

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 文件或捆绑包。您可以找到自己的源代码,或从该存储库 ( https://github.com/lunr/mamp-curl-tls ) 下载 ca-bundle.tgz 文件并解压到 MAMP 中:

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

6) 编译 cURL

在 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

具体来说,查看 Install prefix 和 ca cert path 和 ca cert bundle 行,并确认它们指向 MAMP 的目录。

如果是,请继续,否则,configure 命令有问题

7) 安装新的 cURL 库

make && make install

8) 重启 MAMP 并确认 OpenSSL 版本

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

于 2016-08-24T12:51:13.107 回答