分享一个基于 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。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 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"
2年前 评论
kis龍 (楼主) 2年前

使用 Docker 可以解决这个烦恼

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

PHP Monitor 大法好

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

pecl 装扩展会冲突不

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

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

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

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

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

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

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

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