mac下homebrew安装的多个php版本如何切换?

在 macOS 上,使用 Homebrew 安装多个 PHP 版本后,你可以通过以下步骤切换不同版本的 PHP。

1. 查看已安装的 PHP 版本

首先,查看通过 Homebrew 安装的 PHP 版本:

bash 复制代码
brew list | grep php

你应该看到类似以下的输出:

bash 复制代码
php@7.4 
php@8.0 
php@8.1

2. 切换 PHP 版本

在 macOS 上,Homebrew 默认会将当前的 PHP 版本链接到 /usr/local/bin(或 /opt/homebrew/bin,具体路径根据你的系统架构不同而不同)。你可以使用 brew link 命令来切换 PHP 版本。

切换到 PHP 8.0 版本:
  1. 首先, unlink 当前的 PHP 版本(如果已设置)

    bash 复制代码
    brew unlink php
  2. 然后,链接到你希望使用的 PHP 版本 (例如 PHP 8.0):

    bash 复制代码
    brew link --overwrite --force php@8.0
  3. 验证切换是否成功

    bash 复制代码
    php -v
  4. 如果一切顺利,你应该会看到类似以下的输出,表示你已经切换到 PHP 8.0:

    bash 复制代码
    PHP 8.0.0 (cli) (built: ...)
切换到其他 PHP 版本(例如 PHP 7.4):
bash 复制代码
brew unlink php brew link --overwrite --force php@7.4

3. 切换 PHP 版本时需要重新加载配置

在切换 PHP 版本之后,如果 PHP-FPM 或 Apache 等服务已经在运行,你可能需要重启这些服务。

例如,如果你使用 PHP-FPM,运行:

bash 复制代码
brew services restart php@8.0

或者,如果你使用 Apache,你可以重启 Apache 服务:

bash 复制代码
sudo apachectl restart

4. 自动切换 PHP 版本(可选)

bash 复制代码
alias php74="brew unlink php && brew link --overwrite --force php@7.4" 
alias php80="brew unlink php && brew link --overwrite --force php@8.0" 
alias php81="brew unlink php && brew link --overwrite --force php@8.1"

如果你想要更方便地在不同的 PHP 版本之间切换,可以考虑创建一个别名(alias)或使用脚本来管理 PHP 版本。

例如,编辑 ~/.bash_profile~/.zshrc 文件,添加以下别名:

然后通过执行 php74php80php81 来快速切换 PHP 版本。

5. Homebrew 管理 PHP 扩展

有时,PHP 扩展也需要为不同版本的 PHP 进行切换。你可以使用 pecl 来管理 PHP 扩展,或者在切换 PHP 版本后重新安装相关扩展。

例如:

bash 复制代码
pecl install xdebug

这样就会为当前 PHP 版本安装 Xdebug 扩展。


总结

通过使用 brew linkbrew unlink,你可以在 macOS 上切换不同的 PHP 版本。切换后,记得重新启动相关的服务(如 PHP-FPM 或 Apache)。如果你有多个 PHP 版本,并且经常切换,可以通过别名来简化操作。

相关推荐
m0_380743876 小时前
给 Claude API 调用补上超时重试和错误分类
开发语言·人工智能·php
yuewell_ai8 小时前
机器人调度通讯怎么设计才不会被网络抖动瘫痪
网络·机器人·php
FfHUCisI18 小时前
GMP 调度器:Go 并发的心脏是如何跳动的
开发语言·golang·php
星云API技术支持19 小时前
企业微信二次开发外部群:群聊数据与联系人信息如何建立关联
数据库·php·企业微信
sbjdhjd2 天前
PHP eval 型 RCE:flag 正则过滤与通配符绕过实操 | 01
安全·web安全·网络安全·开源·系统安全·php·网络攻击模型
qetfw2 天前
Debian Nginx + PHP-FPM 配置:FastCGI、站点目录与访问验证
linux·nginx·debian·php
啊阿狸不会拉杆2 天前
《计算机网络-自顶向下方法》3.6 拥塞控制原理 读书笔记
计算机网络·智能路由器·php
郑州光合科技余经理2 天前
本地生活服务系统:成品模块和定制接口怎么划界
java·前端·人工智能·后端·系统架构·php·ai编程
LorryJovens2 天前
【LAAP科研】CEN因果等价网络理论---从双缝干涉到因果等价
开发语言·php
Casual2 天前
【网络基础进阶】:看懂子网划分与 VLAN
开发语言·网络·php