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
相关推荐
UP_Continue16 小时前
Linux--进程控制
linux·运维·服务器
请输入蚊子16 小时前
«操作系统真像还原» 第二章 编写MBR主引导记录
linux·汇编·操作系统·bochs·操作系统真像还原
188号安全攻城狮16 小时前
【PWN】HappyNewYearCTF_8_ret2csu
linux·汇编·安全·网络安全·系统安全
Yana.nice17 小时前
openssl将证书从p7b转换为crt格式
java·linux
AI逐月18 小时前
tmux 常用命令总结:从入门到稳定使用的一篇实战博客
linux·服务器·ssh·php
小白跃升坊18 小时前
基于1Panel的AI运维
linux·运维·人工智能·ai大模型·教学·ai agent
跃渊Yuey18 小时前
【Linux】线程同步与互斥
linux·笔记
舰长11518 小时前
linux 实现文件共享的实现方式比较
linux·服务器·网络
学***542318 小时前
如何轻松避免网络负载过大
开发语言·网络·php
zmjjdank1ng19 小时前
Linux 输出重定向
linux·运维