在 MAMP 中更改 openssl 版本

Posted

技术标签:

【中文标题】在 MAMP 中更改 openssl 版本【英文标题】:Change openssl version in MAMP 【发布时间】:2016-02-26 12:48:43 【问题描述】:

openssl 0.9.8doesn't work 与tls 1.2

user@computer: /usr/bin/openssl version
OpenSSL 0.9.8zg 14 July 2015
user@computer: /usr/bin/openssl s_client -connect somesite.com:8443
CONNECTED(00000003)
write:errno=54

但是openssl 1.0.2 正在使用它:

user@computer: openssl version         
OpenSSL 1.0.2d 9 Jul 2015
user@computer: openssl s_client -connect somesite.com:8443
CONNECTED(00000003)
depth=2 C = US, O = "blah-blah" ...
....

我使用MAMP 作为本地服务器。 phpinfo:

如何在MAMP 中更改openssl 的版本? 我知道,这个问题是duplicate,但我真的需要帮助。

【问题讨论】:

我不使用 mac、mamp 和所有这些东西,但如果您需要 openssl 1.0,请考虑停止使用 mamp,即使对于当前的 PHP 版本,它们仍然提供 0.9。例如,用于 Windows 的 PHP 5.5+ 与 openssl 1.0 一起提供。我相信您可以从其他来源安装 PHP 或将开发环境安装到虚拟机。作为一名 PHP 开发人员,您应该能够从头开始安装基本的开发环境。 您找到解决方案了吗?如果是的话,你能和我分享一下吗?我也需要使用 tls 1.2(因为 ios 9)... @LoryLory,不,我没有。 好的...对不起。如果您还不知道,我可以建议您使用最新版本的 AMPPS,它具有 apache 2.4 和升级版本的 openssl ...请参阅我的帖子:apple.stackexchange.com/questions/206901/… @LoryLory,哦!谢谢! 【参考方案1】:

我已经向开发人员MAMP & MAMP PRO 提出了这个问题。他们是这样说的:

MAMP (PRO) 3.x 不捆绑 OpenSSL 软件,而是使用 Mac OS 捆绑的软件。如果您在 Mac OS 中更新 OpenSSL,MAMP (PRO) 应该会自动使用更新的版本。我们将在即将推出的未来 MAMP 4 版本中包含最新的 OpenSSL。这将是付费更新。


UPD来自 cmets(感谢 @lukemh):

PHP CURL fails on Cloudflare or SSLv3 sites using MAMP 3.5 due to old OpenSSL version

【讨论】:

这些将是好消息,但我担心他们在取笑我们,因为我在我的 MacBook Pro 上使用 El Capitan 更新了 OpenSLL,并按照这个答案 (***.com/questions/34518502/…) 我还更新了指向新的 openssl 二进制文件... (/usr/bin/openssl) 但它不起作用... mamp 和 apache 仍然使用 0.9.8... :( 你能告诉我他们的电子邮件吗?我也想写 @LoryLory, support@appsolute.zendesk.com 只是关于 MAMP 4.0 的警告。我刚刚安装了预发行版 4,它完全删除了我在 htdocs 文件夹下的所有网站。一切都消失了。谢天谢地,我做了备份。小心。 @vyx.ca 否:他们通常重命名旧的 MAMP,他们从不删除。【参考方案2】:

我重新编译了 libcurl MAMP 正在使用。它现在对我有用:)

所以,让我们执行以下操作:

    运行 /Applications/MAMP/Library/bin/curl-config --version 以查看您拥有的版本 转到http://curl.haxx.se/download/ 并下载正确的版本 用./configure --prefix=/Applications/MAMP/Library/配置它 make && make install

来源:http://dev.soup.io/post/56438473/If-youre-using-MAMP-and-doing-something

【讨论】:

@FranciscoBueno - 一开始效果很好,但现在我收到了Protocol "https" not supported or disabled in libcurl。显然它也应该配置--with-ssl,但是它找不到openssl文件并且配置失败。 您好 Fran,我需要添加 --with-ssl=/usr/local/Cellar/openssl/1.0.2c 来配置使用 homebrew 安装的 openssl 版本,否则它仍然使用该版本由 macos 提供。 -bash: ./configure: No such file or directory 好的,现在我有“curl 7.49.1 (x86_64-apple-darwin15.5.0) libcurl/7.49.1 OpenSSL/1.0.2h zlib/1.2.5 librtmp/2.3”但仍然没有 TLS 1.2 在 PHP - 做 file_get_contents 例如内部使用 libcurl? 这对我有用。这是一个易于遵循的指南:grasmash.com/article/using-httpsssl-mamps-curl-osx 对于 MAMP,您可以将该 php.ini 行放入您正在运行的 PHP 版本的 php.ini 中,即 Applications/MAMP/bin/php/php7.0.0/conf/php .ini【参考方案3】:

截至 2016 年 7 月 21 日,有一个包含 OpenSSL 1.0.2 的 MAMP PRO 4 的预发布版本,请在此处获取预发布版本:

https://www.mamp.info/en/pre-release.html

【讨论】:

【参考方案4】:

如果您希望继续使用 MAMP 版本 3,您还可以执行以下操作以使其正常工作:

    将当前版本的 MAMP 重命名为 MAMPv3 下载 MAMP 版本 4,下载后将其重命名为 MAMPv4 将 MAMPv3 重命名为简单的旧 MAMP 返回 MAMPv4 并进入“库”目录并复制名为“OpenSSL”的文件夹 将此文件夹移动到旧版本的 MAMP 中并重新启动服务器。为我工作!

【讨论】:

以上是关于在 MAMP 中更改 openssl 版本的主要内容,如果未能解决你的问题,请参考以下文章

请求的链接库 openssl 安装了错误的版本

无法在 Mac 上更改 mamp 端口

如何更改在 MAMP 上运行的 Django 项目数据库名称?

MAMP 和 XAMPP 的 mysql 密码更改如何工作?

mamp使用

更改了 phpMyAdmin 的 root 密码,现在我无法访问任何 MAMP