为Mac安装特定版本的PHP

14

我需要一个特定版本的PHP用于Magento (7.1.3)。

使用Home brew或curl,我只能指定一个小数点(7.1,7.2等)。

运行

brew install php@7.1

最终让我得到

php -v
PHP 7.1.29 (cli) (built: May 21 2019 20:05:17) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.1.29, Copyright (c) 1999-2018, by Zend 
Technologies

尝试安装特定版本(就像使用 nvm 安装 node 一样):

brew install php@7.1.3

让我感到困惑

Error: No available formula with the name "php@7.1.3"

我尝试使用curl命令,但出现了相同的问题:

https://php-osx.liip.ch/install.sh | bash -s 7.1.3 

让我感动

Did or could not download package: 7.1.3-frontenddev

简述:如何在Mac上安装确切版本的PHP(7.1.3)?


2
你为什么需要特别使用这个版本?根据changelog,你将会错过最新的漏洞和安全修复。 - gogaz
此外,互联网上应该有很多网站可以供您下载,如果您在命令行中失败了的话。 - frogman578
4个回答

23

对于在brew中被弃用的php版本,请运行以下命令。

brew tap exolnet/homebrew-deprecated

选择您的版本。

brew install php@7.1

切换回第一个PHP版本。

brew link --force --overwrite php@7.1

这里是参考资料,

macOS 10.15 Catalina Apache配置:多版本PHP


3
非常感谢,救了我一命。但是exolnet/homebrew-deprecated已经不存在了。它被shivammathur/php替代了(我已经成功安装了shivammathur/php/php@5.6,没有遇到任何问题)。 - Kevin Labécot

17

brew tap exolnet/homebrew-deprecated 已经过时。

我建议使用shivammathur/php。以下是如何使用的示例:

brew tap shivammathur/php

brew install shivammathur/php/php@7.3

brew link --overwrite --force shivammathur/php/php@7.3

然后重新启动终端并测试您的PHP版本:

php -v


shivammathur/php 也已经被弃用。 - Jaimin Patel
5
嘿,它没有被折旧。 - Jovylle

3
我在PHP git页面上没有找到这个标记版本,所以它可能是某个Linux发行版的重新打包版本。 如果您认为您需要7.1.3版本,因为Magento的系统要求中写了,您也可以使用7.2.0,因为他们在https://devdocs.magento.com/guides/v2.3/install-gde/system-requirements-tech.html中写了。
所以你可以使用:
brew install php@7.2

安装旧版本会导致您错过最新的错误修复和安全修复,因此我建议您至少使用PHP 7.2。

1
我尝试过这个,但它安装的是7.2.19版本,而这个版本与Magento不兼容。我该如何指定安装7.2.0版本呢?因为文档中指出这个版本是兼容的。 - Brandon
我认为PHP 7.2.19没有问题,因为Magento 2.3.1已经通过了对PHP 7.2.11的认证和测试,所以他们支持更高版本。您能否提供一些错误或错误日志来帮助我们解决问题?也许您缺少Magento所需的某些扩展。 - r00t-err0r

0
你可以尝试使用 phpbrew - 我需要安装一个特定的子版本(brew只允许我安装php@8.0,这意味着8.0.26,而我特别需要8.0.25)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接