分享一个基于 brew 的 php 多版本共存小工具

brew 安装 php 多个版本,虽说切换版本也不难,不同项目依赖的版本不同,切换也会有点麻烦,索性就手鲁了一个简单的脚本。

php 多版本共存,可以同时使用

不多废话,直接上代码

## 安装,常用的话,可以放到 $(brew --prefix)/bin 目录,自行决定
curl -o brew-php-ln https://gitee.com/pifeifei/brew-php-ln/raw/main/phpln.sh && chmod +x brew-php-ln

## 使用
# 1. 多版本使用
brew-php-ln 8.0 # php80 及其相关
brew-php-ln 7.4 # php74 及其相关,如 php74 -v, pecl74 search redsi
brew-php-ln 7.2 # php72 及其相关,如 php72 -v, pecl72 search redsi

brew-php-ln 7.4 -m # php7 及其相关,如 php7 -v, pecl7 search redsi

就是这么简单

PS: php 小版本升级不用重新创建软连接。

补充

# pecl 扩展安装不受影响

brew-php-ln 5.6 -m
pecl5 install https://pecl.php.net/get/redis-4.3.0.tgz # 安装 redis,redis-5.3.7.tgz 不支持 php 5.6

pecl74 install redis # ok
世界上最遥远的距离不是生与死,而是你亲手制造的BUG就在你眼前,你却怎么都找不到ta。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 27

也可以在 .zshrc 文件里加四个别名,当然前提是找到 php 真正的安装位置,不过每次 php 或者 composer 升级之后,文件夹的名字会变。

alias php7="/opt/homebrew/Cellar/php@7.4/7.4.30/bin/php"

alias php8="/opt/homebrew/Cellar/php/8.1.9/bin/php"

alias composer7="php7 /opt/homebrew/Cellar/composer/2.4.1/bin/composer"

alias composer8="php8 /opt/homebrew/Cellar/composer/2.4.1/bin/composer"
1年前 评论
kis龍 (楼主) 1年前

使用 Docker 可以解决这个烦恼

1年前 评论
kis龍 (楼主) 1年前
sunny123456 1年前
kis龍 (楼主) 1年前
sunny123456 1年前
Cooper

PHP Monitor 大法好

1年前 评论
kis龍 (楼主) 1年前

pecl 装扩展会冲突不

1年前 评论
kis龍 (楼主) 1年前
kis龍 (楼主) 1年前
kis龍 (楼主) 1年前
王小大 (作者) 1年前
kis龍 (楼主) 1年前

/bin 目录应该放不了,只读

1年前 评论
kis龍 (楼主) 1年前

问下大佬 mac m1 为什么程序退出后,端口还会占用,每次都要关闭程序还有杀掉进程。好麻烦

1年前 评论
kis龍 (楼主) 1年前
jfpl (作者) 1年前
jfpl (作者) 1年前
jfpl (作者) 1年前
kis龍 (楼主) 1年前
kis龍 (楼主) 1年前
jfpl (作者) 1年前
leo

然而已经有现成的轮子了 brew install brew-php-switcher

1年前 评论
kis龍 (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!