Ubuntu 24.04 默认提供 PHP 8.3.6,多版本 CLI 切换需用 update-alternatives 注册各版本(如 php8.2/8.3/8.4)并执行 --config php 交互选择,验证用 php -v;Web 服务需单独配置 php-fpm 和服务器模块。

Ubuntu 24.04 默认提供 PHP 8.3.6,但如果你系统里已安装多个 PHP 版本(比如同时有 8.2、8.3、8.4),需要显式切换 CLI 默认版本。核心方法是用 update-alternatives 管理,而不是直接改符号链接或 PATH。
确认已安装的 PHP 版本路径
先查清楚系统中有哪些 PHP 二进制文件可用:
- 运行
ls /usr/bin/php*,常见路径如:/usr/bin/php8.2、/usr/bin/php8.3、/usr/bin/php8.4 - 若只看到
/usr/bin/php且php -v显示不是 8.3,说明尚未注册多版本管理机制
用 update-alternatives 注册并切换
如果各版本已通过 APT 安装(例如来自 Ondřej Surý 的 PPA),通常会自动注册。若未注册或需补全,手动执行:
- 为 PHP CLI 注册 8.3:
sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.3 83 - 同样注册其他版本(如存在):
sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.2 82sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.4 84 - 交互式选择默认版本:
sudo update-alternatives --config php
终端会列出编号和路径,输入对应 8.3 的序号即可生效
验证是否成功
切换后立即验证:
立即学习“PHP免费学习笔记(深入)”;
- 运行
php -v,输出应显示类似PHP 8.3.14 - 检查软链接指向:
ls -l /usr/bin/php应指向/etc/alternatives/php,再链向/usr/bin/php8.3 - 若仍显示旧版本,请关闭当前终端重开,或运行
hash -r清除命令缓存
注意 Web 服务不受此操作影响
CLI 切换只改变 php 命令行为,不影响 Apache 或 Nginx 使用的 PHP-FPM:
- Web 请求走的是
php8.3-fpm服务,需单独确保该服务正在运行:sudo systemctl status php8.3-fpm - Apache 用户还需启用对应模块:
sudo a2enmod php8.3(如使用 mod_php)或确认a2enconf php8.3-fpm已启用 - Nginx 用户需检查站点配置中
fastcgi_pass是否指向unix:/run/php/php8.3-fpm.sock



















