我在 Mac OS X 10.6.8 上使用 MAMP 2.1 - 这带有 PHP 的 OpenSSL 扩展,但只有 0.9 版 - 我需要将其升级到 1.0 - 但是我不确定我将如何完成这样的任务。有人可以帮忙吗?
1 回答
你可以按照我从这里得到的这些说明
升级步骤
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