Composer使用错误的openssl版本

时间:2017-10-12 16:54:58

标签: macos composer-php homebrew pyopenssl

我已经使用brew安装了openssl@1.1并添加了我的bash-profile的路径。从终端我运行“哪个openssl”并显示正确的位置(如在我的bash-profile中)。另外,当我运行“openssl version”时,显示1.1.0f,这也是正确的。

但是当我运行“作曲家诊断”时,我收到以下警告:

  

PHP使用的OpenSSL库(0.9.8y)不支持TLSv1.2或TLSv1.1。   如果可能,您应该将OpenSSL升级到1.0.1或更高版本。

我还运行了“composer show --platform”并显示:

  

lib-openssl 0.9.8.25 OpenSSL 0.9.8y 2013年2月5日

如何让Composer使用正确版本的OpenSSL?

我正在跑步: OSX 10.12.6, MAMP PHP 7.0.0, 作曲家1.5.2, Brew 1.3.5

任何帮助都将不胜感激。

更新:

我尝试添加许多提供的线程中提到的符号链接:

ln -s /usr/local/opt/openssl@1.1/lib/libcrypto.1.1.dyli /usr/local/lib/    
ln -s /usr/local/opt/openssl@1.1/lib/libssl.1.1.dylib /usr/local/lib/

它不起作用。 PHP仍显示:

OpenSSL support => enabled
OpenSSL Library Version => OpenSSL 0.9.8zh 14 Jan 2016
OpenSSL Header Version => OpenSSL 0.9.8y 5 Feb 2013
Openssl default config => /System/Library/OpenSSL/openssl.cnf

我首先尝试从/ System / Library / OpenSSL进行符号链接,但是不允许这样做。也许我需要sudo它。在我这样做之前,我应该注意哪些风险?我在正确的道路上吗?终端中的某些命令指向新的openssl是非常令人沮丧的,而其他命令则没有。

2 个答案:

答案 0 :(得分:0)

检查您的Mac OS发货的PHP版本。它应该像PHP 5.6。

尝试将您的PHP版本升级到7.0或更高版本。 并再次运行命令检查当前文件夹的版本。

php -v

php -i | grep OpenSSL

如果php -v的输出仍然没有回应版本7,请输入以下命令来更新路径。

export PATH=/usr/local/php5/bin:$PATH

答案 1 :(得分:0)

这正是我遇到的问题。

我按evidence that the most recent versions might be the problem

更新了我的OpenSSL

然而,Composer显示错误

然后,我按照此these instructions(the only way I found that worked on Mac OS High Sierra

中的说明操作

问题解决了(最后,在死路结束3天后)