在mac上超容易实现多版本php自由切换

Brew PHP switcher 是一个简单的脚本,用于在 PHP 的主要版本之间快速切换您的CLI 配置.

如果您使用新版或旧版PHP功能构建的多个产品/项目,并且发现不断更改配置文件很痛苦,PHP switcher 整个过程只需一个命令,简单的实现php版本的切换。

警告

仅适用于通过自制安装 PHP 的 OSX 用户,仅适用于 PHP 版本 5.6、7.0、7.1、7.2、7.3、7.4 和 8.0。

如果没有安装多个版本app您可以用下面命令来安装

brew install php@7.4

Apache的配置必须注释掉本机 osx PHP 模块

#LoadModule php5_module libexec/apache2/libphp5.so

Brew PHP Switcher将自动在Apache配置中添加以下格式的自制PHP模块位置。

#LoadModule php5_module /usr/local/opt/php@5.6/lib/httpd/modules/libphp5.so
#LoadModule php7_module /usr/local/opt/php@7.0/lib/httpd/modules/libphp7.so
#LoadModule php7_module /usr/local/opt/php@7.1/lib/httpd/modules/libphp7.so
#LoadModule php7_module /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so
#LoadModule php7_module /usr/local/opt/php@7.3/lib/httpd/modules/libphp7.so
#LoadModule php7_module /usr/local/opt/php@7.4/lib/httpd/modules/libphp7.so

安装

brew install brew-php-switcher

在mac上超容易实现多版本php自由切换

切换版本,如果其他版本直接使用5.6、7.0、7.1、7.2、7.3、7.4 或 8.0,具体取决于所需的版本。
在mac上超容易实现多版本php自由切换

brew-php-switcher 8.1

Options

  • -s|-s=*跳过apache&代客泊车配置开关,例如
# skip apache only
brew-php-switcher 5.6 -s

# skip valet only
brew-php-switcher 5.6 -s=valet

# skip valet & apache
brew-php-switcher 5.6 -s=valet,apache
  • -c=*
# switch valet config only
brew-php-switcher 5.6 -c=valet

# switch valet & apache config only
brew-php-switcher 5.6 -c=valet,apache

# switch apache config only
brew-php-switcher 5.6 -c=apache

在mac上超容易实现多版本php自由切换

更多项目的信息: github.com/philcook/brew-php-switc...

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 32
黑将军

用 PHP monitor 更方便

1年前 评论
kunSir (楼主) 1年前
李小明 1年前

这个我也用过,只能一个版本使用

我有写过一个多版本共存的脚本, 最终调用方法是 php7 -v, php72 -v, php81 -v 等,

不知道有没有这个需求

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

docker就好了啊

1年前 评论
zhengmin4516 1年前
esacpe (作者) 1年前
brew unlink php@7.4 && brew link php
brew unlink php && brew link php@7.4

或者 alias php7 和 php8
1年前 评论

Homebrew 目前只有 PHP 7.4 和 8.1,没法安装其他版本

1年前 评论
yzh52521 1年前
FatTiger 1年前
aszx0413

请问这个 zsh 的主题是什么,好好看

1年前 评论
kunSir (楼主) 1年前
游离不2
brew-php-switcher () {
        if [ -z "$1" ]
        then
                echo "Usage: brew-php-switcher <version>"
                return 1
        fi
        local formula="php@$1" 
        if [ "$1" = "8.1" ]
        then
                formula="php" 
        fi
        brew list --formula | grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox} -E "php(\d{2}|@\d\.\d)?$" | xargs brew unlink
        brew link --overwrite --force ${formula} && php -v
}

~/.zshrc 加上就可以直接用了,不需要安装第三方应用。

1年前 评论
kunSir (楼主) 1年前

点赞支持,我选择Docker

1年前 评论
kunSir (楼主) 1年前

MacOS平台免费的PHP集成开发环境

www.xsrvs.com 这个集成环境也还不错,用的比较多点儿

1年前 评论
kunSir (楼主) 1年前

感觉还是软链更好一点,用的时候直接用,docker的话,据说Mac支持不好,还是原生环境舒服

1年前 评论
aa24615

在win上也可以,给php做别名即可

1年前 评论
kunSir (楼主) 1年前

php各种扩展需要重新装一遍吗?

1年前 评论
kunSir (楼主) 1年前

还是docker好用,毕竟最后集群也是用docker镜像部署上去的

1年前 评论

我使用方法:

环境变量

zsh 终端 编辑~/.zshrc
bash 编辑 ~/.bash_profile 或者 ~/.bashrc

# PHP
#export PATH=/opt/remi/php73/root/bin:$PATH
#export PATH=/opt/remi/php74/root/bin:$PATH
export PATH=/opt/remi/php81/root/bin:$PATH
#export PATH=/opt/remi/php82/root/bin:$PATH

软连接

$ sudo ln -s /opt/remi/php73/root/bin/php /usr/bin/php73
$ php73 -v

$ sudo ln -s /opt/remi/php74/root/bin/php /usr/bin/php74
$ php74 -v

$ sudo ln -s /opt/remi/php81/root/bin/php /usr/bin/php
$ php -v
1年前 评论

我习惯每次使用时候 source一下 :joy:

1年前 评论

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