php 多版本安装 from ppa
sudo add-apt-repository ppa:ondrej/php
sudo apt update
然后就可以用sudo apt isntall php-7.4这种方式安装对应版本php
扩展可以直接用apt install php-7.4-redis这种方式安装
不确定的扩展名可以用apt search php-版本-redis搜索包名
- 多版本切换
如果需要多版本切换,可以使用ubuntu 的update-alternatives实现
用上面ppa的包安装的php都会作为php的候选项,比如使用命令
update-alternatives --list php
/usr/bin/php7.4
/usr/bin/php8.2
需要切换php命令的版本可以使用
update-alternatives --config php
有 2 个候选项可用于替换 php (提供 /usr/bin/php)。
选择 路径 优先级 状态
------------------------------------------------------------
* 0 /usr/bin/php8.2 82 自动模式
1 /usr/bin/php7.4 74 手动模式
2 /usr/bin/php8.2 82 手动模式
如果有应用不是使用apt安装的,可以使用下面的命令添加到候选项目
# 链接 名称 (实际)路径 优先级
sudo update-alternatives --install /usr/bin/vim vim /usr/bin/vim.nox 40
- php-fpm 多版本
如果fpm也需要多版本,可以先apt安装多版本的fpm
使用systemctl start php7.4-fpm 启动对应版本的php-fpm
查看目录/etc/php/7.4/fpm/pool.d/www.conf
listen = /run/php/php7.4-fpm.sock //可以看到监听地址
nginx设置php文件的fastcgi=/run/php/php7.4-fpm.sock
需要切换php-fpm版本就找到对应配置的fpm监听地址,修改nginx对应网站的转发配置