Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在MAMP中更改openssl版本_Php_Openssl_Mamp - Fatal编程技术网

Php 在MAMP中更改openssl版本

Php 在MAMP中更改openssl版本,php,openssl,mamp,Php,Openssl,Mamp,带有tls 1.2的openssl 0.9.8: 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

带有tls 1.2的openssl 0.9.8:

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" ...
....
我正在用作本地服务器<代码>phpinfo:

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

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

MAMP(PRO)3.x不捆绑OpenSSL软件,而是使用与Mac OS捆绑的软件。如果在Mac OS中更新OpenSSL,MAMP(PRO)应自动使用更新版本。我们将在即将发布的MAMP 4版本中包含最新的OpenSSL。这将是一个付费更新


UPD来自评论(感谢@lukemh):


我重新编译了libcurl-MAMP正在使用的文件。它现在对我有效:)

那么,让我们做以下工作:

  • 运行
    /Applications/MAMP/Library/bin/curl config--version
    查看您的版本
  • 转到
    http://curl.haxx.se/download/
    并下载正确的版本
  • 使用
    /Configure--prefix=/Applications/MAMP/Library/
  • make&&make-install

  • 来源:

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


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

  • 将当前版本的MAMP重命名为MAMPv3
  • 下载MAMP版本4,下载后将其重命名为MAMPv4
  • 将MAMPv3重命名回普通的旧MAMP
  • 回到MAMPv4,进入“Library”目录,复制名为“OpenSSL”的文件夹
  • 将此文件夹移到旧版本的MAMP中,然后重新启动服务器。为我工作
    我不使用MAC,MAMP和所有这些东西,但考虑停止使用MAMP,如果你需要OpenSSL 1,他们仍然提供0.9,即使是目前的PHP版本。例如,PHP5.5+For Windows随openssl 1.0一起提供。我相信您可以从其他来源安装PHP,或者将开发环境安装到虚拟机。作为一名PHP开发人员,您应该能够从头开始安装基本的开发环境。您找到解决方案了吗?如果是的话,你能和我分享一下吗?我也需要使用TLS1.2(因为ios 9)…@LoryLory,不,我没有。好的……对不起。如果你还不知道的话,我可以建议你使用最新版本的AMPPS,它有Apache2.4和升级版的openssl。。。请看我的帖子:@LoryLory,噢!非常感谢。这将是个好消息,但我担心他们在取笑我们,因为我用El Capitan在我的MacBook Pro上更新了OpenSLL,并按照这个答案()更新了指向新openssl二进制文件的链接。。。(/usr/bin/openssl)但它不起作用…mamp和apache仍然使用0.9.8…:(你能告诉我他们的电子邮件吗?我想写信给他们。)too@LoryLory, support@appsolute.zendesk.comJust关于MAMP 4.0的一个警告。我刚刚安装了预发行版4,它将我所有的网站完全重新安装在htdocs文件夹下。一切都不见了。谢天谢地,我做了一个备份。小心。@vyx.ca否:他们通常会重命名旧的MAMP,他们从不删除删除。@FranciscoBueno-起初这很有效,但现在我得到了
    协议“https”libcurl中不支持或禁用。显然,它应该配置为
    ——也配置为ssl
    ,但是它找不到openssl文件,配置失败。嗨,弗兰,我需要添加--with ssl=/usr/local/ceral/openssl/1.0.2c来配置为使用自制安装的openssl版本,否则它仍然使用该版本由macos提供。
    -bash:./configure:没有这样的文件或目录
    好的,现在我有了“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”但是在PHP中仍然没有TLS1.2——文件内容是否在内部使用libcurl?这对我来说很有用。这里有一个简单易懂的指南:对于MAMP,您可以将PHP.ini行放入正在运行的PHP版本的PHP.ini中,即Applications/MAMP/bin/PHP/php7.0.0/conf/PHP.ini