【问题标题】:How to upgrade OpenSSL in MAMP如何在 MAMP 中升级 OpenSSL
【发布时间】:2012-08-06 01:40:54
【问题描述】:

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

【问题讨论】:

  • 升级mamp,或者自己编译扩展。当您使用 PHP 的预打包版本时,这并不是一件特别容易的事情。
  • 我使用的是最新版的 MAMP
  • 你找到解决办法了吗?我对 MAMP 3.0.6 PHP 5.5.14 有同样的问题,但 OpenSSL 只有 0.9.8r ......请问我该如何更新它?
  • 您是否找到了解决方案?
  • @MarcB:我想试试,那么我该如何重新编译你提到的扩展?

标签: php openssl mamp


【解决方案1】:

您可以按照这些说明进行操作 我从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

在工作目录下执行如下配置命令 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 bundle 并确认它们指向 MAMP 的目录。

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

7) 安装新的 cURL 库

make && make install

8) 重启 MAMP 并确认 OpenSSL 版本

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

【讨论】:

  • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
  • 感谢评论,我改了
  • 这个答案很震撼!非常详细,为我做了诀窍。谢谢!
猜你喜欢
  • 2012-01-12
  • 1970-01-01
  • 1970-01-01
  • 2016-08-02
  • 2013-11-10
  • 1970-01-01
  • 2012-03-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多