2012-08-08 116 views
5

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

+1

升级mamp,或自己编译扩展。当您使用预打包版本的PHP时,这并不是一件特别容易的事情。 – 2012-08-08 21:02:54

+0

我正在使用MAMP的最新版本 – Ash 2012-08-08 21:05:47

+0

您是否找到一些解决方案?我有与MAMP 3.0.6 PHP 5.5.14相同的问题,但OpenSSL只有0.9.8r ...我怎么能更新它PLZ? – 2015-02-09 16:05:32

回答

-1

您可以按照这些指示 我是从here

升级步骤

1)确保你已经安装了XCode的命令行工具。

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

xcode-select --install

2)安装家酿的OpenSSL库

的目标是通过 http://brew.sh进行编译所提供的OpenSSL库卷曲,所以如果你没有自制安装的是,遵循 说明在他们的网站上,或者谨慎地运行这个命令:

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

接下来,安装L中的OpenSSL库:

brew install openssl 

3)检查卷曲版本包含甲基苯丙胺

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

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

确保完成下一步之前退出MAMP!

4)下载卷曲源

下载从官方网站在 curl.haxx.se/download卷曲的源代码,或者直接把它拿来:

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

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

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

5)下载CA /证书捆绑并提取到MAMP中

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

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

6)编译卷曲

在 工作目录执行以下配置命令卷曲源代码:

./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 

这个命令是专门针对自制的 Ope nSSL库和您在步骤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 证书捆绑,并确认它们都指向MAMP目录。

如果是这样,则继续,否则,什么是不正确有关配置 命令

7)安装新的cURL库

make && make install 

8)重新启动MAMP并确认OpenSSL的版本

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

+0

尽管这个链接可能回答这个问题,但最好在这里包含答案的基本部分,并提供参考链接。如果链接页面更改,则仅链接答案可能会失效。 - [来自评论](/ review/low-quality-posts/13446636) – techspider 2016-08-24 13:59:15

+0

感谢您的评论,我改变了它 – GirginSoft 2016-08-24 14:31:31