linux 多个PHP版本切换版本

一、当系统存在多个 PHP 版本时,核心是通过 update-alternatives(系统级软链接管理) 或 直接指定绝对路径,确保 php、phpize、php-config 指向目标版本(最新版)

第一步:先找到所有 PHP 版本的安装路径

php 复制代码
# 搜索 php 可执行文件
which -a php
find /usr/bin -name "php*" | grep -E "php$|php[0-9]+\.[0-9]+$"

# 搜索 phpize(编译依赖)
which -a phpize
find /usr/bin -name "phpize*" | grep -E "phpize$|phpize[0-9]+\.[0-9]+$"

# 搜索 php-config(编译配置依赖)
which -a php-config
find /usr/bin -name "php-config*" | grep -E "php-config$|php-config[0-9]+\.[0-9]+$"

或者查找
find / -name php-fpm

第二步:用 update-alternatives 配置系统默认版本

bash 复制代码
# 1. 添加 PHP 7.4 到 php 替代组(优先级设为 100,数字越大优先级越高)
sudo update-alternatives --install /usr/bin/php php /usr/bin/php7.4 100

# (可选)如果之前有旧版本(如 PHP 7.2),也添加到替代组(优先级设为 90,低于 7.4)
sudo update-alternatives --install /usr/bin/php php /usr/bin/php7.2 90

# 2. 选择默认的 php 版本(会弹出交互界面,选对应 PHP 7.4 的序号)
sudo update-alternatives --config php

按上诉方式依次替换 phpize php-config

补充:CentOS 系统的差异

CentOS 没有 update-alternatives 对 PHP 的默认支持,需手动创建软链接,步骤如下:

bash 复制代码
先删除旧的软链接(如果存在)
sudo rm -f /usr/bin/php /usr/bin/phpize /usr/bin/php-config

为最新版本创建新的软链接(假设 PHP 7.4 路径为 /usr/bin/php74,需根据实际路径调整):
# 假设 PHP 7.4 安装在 /usr/bin/php74、/usr/bin/phpize74、/usr/bin/php-config74
sudo ln -s /usr/bin/php74 /usr/bin/php
sudo ln -s /usr/bin/phpize74 /usr/bin/phpize
sudo ln -s /usr/bin/php-config74 /usr/bin/php-config
相关推荐
Dawn-bit22 分钟前
Linux日志处理三剑客之基础篇:(基础正则+扩展正则)
linux·运维·服务器·正则表达式·云计算·运维开发
风样滴男人哟33 分钟前
PHP特性之反射类ReflectionClass机制
android·开发语言·php
☆凡尘清心☆40 分钟前
Linux运维故障排查速查命令清单
linux·运维·服务器
小泊客1 小时前
友善R5C刷OpenWrt后RTL8822CE无线网卡显示“禁用”或“未激活”的完整解决方案
linux·github·运维开发
nvd111 小时前
GCP L4 Passthrough 负载均衡器“假死超时”深度排查复盘
运维·php·负载均衡
mounter6251 小时前
跨内核实时更新:如何实现 hugetlbfs 巨页的无缝保留与恢复?
linux·linux kernel·kernel·kexec·liveupdate·kho
qeen871 小时前
【Linux】make/Makefile 自动化工具的介绍
linux·运维·服务器·自动化
funnycoffee1231 小时前
Cisco ip access-list序号重排方法
linux·网络·tcp/ip
艾莉丝努力练剑1 小时前
【Linux:动静态库】Linux 动静态库与可执行文件
linux·运维·服务器·学习·面试·文件系统·动静态库
乌萨奇也要立志学C++2 小时前
【Linux】传输层协议UDP与TCP详解
linux·tcp/ip·udp