在 MAC 上使用 Homebrew 安装 PHP

Posted

技术标签:

【中文标题】在 MAC 上使用 Homebrew 安装 PHP【英文标题】:Installing PHP using Homebrew on MAC 【发布时间】:2017-07-21 03:32:58 【问题描述】:

我正在尝试使用 Homebrew 在我的 MAC 机器上安装 php。 我正在使用以下命令: brew install php

但是,我收到以下错误:

Error: No available formula with the name "php" 
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
==> Searching taps...
Error: No formulae found in taps.

【问题讨论】:

【参考方案1】:

更新

2018 年 2 月,php72 公式(当时 PHP 的当前版本)已移入 Homebrew 的核心 Tap,并重命名为 php

homebrew/php 在 2018 年 1 月点击 has been deprecated,然后在 2018 年 3 月 31 日存档。其中包含的公式不再可用。

自 2018 年 2 月起,使用 Homebrew 安装 PHP 非常简单:

$ brew install php

较旧的 PHP 版本 that are still maintained 可以使用新的 @ 版本约定安装(PHP 7.1 为 php@7.1)。


原始答案(不再可用)

PHP 生态系统存在于homebrew/php 水龙头中。您可以找到解释器的六个版本(从5.37.1)、它们的扩展以及一些与PHP 相关的工具。

为了安装 PHP,您必须先安装 homebrew/php 点按(只需要一次):

$ brew tap homebrew/php
$ brew install php70

或者您可以通过运行一步完成这两项操作:

$ brew install homebrew/php/php70

你可以通过搜索php首先发现所有这些:

$ brew search php

【讨论】:

更新到最新版本:$ brew tap homebrew/homebrew-php 然后brew install php72。或者您可以检查选项如何安装 php72 brew options php72 另外请注意,随着 2018 年 3 月的更新,所有的 php-XXX 扩展模块都不再在自制软件中,您必须使用 pecl 来安装它们。对我来说,我以前是brew install php72-yaml,现在我必须pecl channel-update pecl.php.net,然后是pecl install yaml。这可能需要您安装一些构建工具,例如 autoconf,如果您还没有的话。 错误:homebrew/php 已被弃用。此水龙头现在是空的,因为它的所有公式都已迁移。 除非您需要特定版本的 PHP 来匹配您的生产环境,这始终是一个好主意,并且通常是现实生活中的要求。如果您在生产中有多个具有不同版本的客户端怎么办?请查看phpenv。 谢谢,这对我有用,我在 Big Sur macOS 11.1 上【参考方案2】:

用 brew 安装 PHP 后,

brew install php@7.3

或者你需要的任何版本(可以是:php@7.2)

运行此命令以确保您已安装 PHP:brew list | grep php 然后您需要手动添加别名,如下所示:

alias php='/usr/local/Cellar/php@7.3/7.3.13/bin/php'

然后,要使更改生效,您需要刷新终端。您可以使用:source ~/.bash_profile 命令,或者关闭并打开终端。

【讨论】:

谢谢,这对我有用。我认为自制软件的全部意义在于处理这些配置调整...... @pixeline :如果 macOS 已经安装的工具(如 php 命令)突然换成不同的版本,这对开发人员(和操作系统)来说将是一场噩梦。 您不应该使用上面提到的别名! 在别名中指定版本号仅在下一个次要版本之前有效,PHP 需要来自bin 目录的其他工具呢?在你的 shell 启动脚本的末尾使用它:export PATH="$HOMEBREW_PREFIX/opt/php@7.3/bin:$PATH" 然后所有适用于 7.3.x 的命令(不仅仅是php)都可用并首先选择。 顺便说一句!我已将上面评论中使用的变量 $HOMEBREW_PREFIX 映射到eval $(brew --prefix) 的输出,如:export HOMEBREW_PREFIX="$(brew --prefix)" 提一下的好主意?这通常是/usr/local,但将其映射到变量使其更便携。 附加:在 bash_profile 中放入别名后,您可能需要重新启动终端。它运作良好。至于路径,你可以自己搜索,因为当前的 php@7.3/7.xxxxxxxx/bin 不一样。【参考方案3】:

我在 2021 年使用 Mac OS Big Sur 遇到了这个错误。 运行以下命令帮助了我

    rm -rf $(brew --repo homebrew/core) brew tap homebrew/core brew install php

Link to source

【讨论】:

你让我的好朋友,昨天我的 macos 更新了,PHP 没有工作,现在花了 8 多个小时后,我的 PHP 安装好了,非常感谢 这个解决方案对我有用(macOS Monterey)【参考方案4】:

你可以跑

brew doctor

查看由于某些原因正在使用哪个分支,某些公式不在原点....所以请在 brew 上结帐以掌握

git -C $(brew --repo homebrew/core) checkout master

然后尝试运行

brew search php

查看是否列出

【讨论】:

以上是关于在 MAC 上使用 Homebrew 安装 PHP的主要内容,如果未能解决你的问题,请参考以下文章

MAC上安装HomebrewNginxPHPMysql

Mac 下使用 homebrew 切换不同版本 php

在 mac 上使用 PHP 安装 mcrypt

Mac homebrew-1.5以后安装php扩展的方法

mac os x 无法使用home brew 安装php

在mac上搭建PHP开发环境