在linux中经常会遇到需要多个版本的php或者多版本jdk等情况,如何使它们和平共处呢??
命令
# update-alternatives
update-alternatives: need --display, --query, --list, --get-selections, --config, --set, --set-selections, --install, --remove, --all, --remove-all or --auto
# update-alternatives --list php
/usr/local/php/bin/php
/usr/local/php8.0/bin/php
/usr/local/php8.1/bin/php
/usr/local/php8.2/bin/php安装
该命令可以帮助我们更快的切换环境,但是使用前需要先“安装”。
// 安装↓ 需要被切换的命令↓ 命名↓ 对应软件版本的执行文件↓ 权重↓
# update-alternatives --install /etc/bin/php php /usr/local/php8.0/bin/php 200
# update-alternatives --install /etc/bin/php php /usr/local/php8.1/bin/php 200
# update-alternatives --install /etc/bin/php php /usr/local/php8.3/bin/php 200如果有3个版本,那么需要执行3次。
查看
# update-alternatives --list php
/usr/local/php/bin/php
/usr/local/php8.0/bin/php
/usr/local/php8.1/bin/php
/usr/local/php8.2/bin/php可以看到成功添加了几个版本。
切换
# update-alternatives --config php
There are 4 choices for the alternative php (providing /bin/php).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/local/php8.2/bin/php 300 auto mode
1 /usr/local/php/bin/php 100 manual mode
2 /usr/local/php8.0/bin/php 200 manual mode
3 /usr/local/php8.1/bin/php 200 manual mode
* 4 /usr/local/php8.2/bin/php 300 manual mode
Press <enter> to keep the current choice[*], or type selection number: 2 // 输入要切换的版本更多用法,请自行百度哦。