温馨提示×

ubuntu php如何切换版本

小樊
39
2026-09-04 12:40:31
栏目: 编程语言

在 Ubuntu 上切换 PHP 版本,常见有 CLI(命令行)Web(Apache/Nginx) 两种场景。下面分别说明。


一、先确认已安装的 PHP 版本

ls /usr/bin/php*
# 或
dpkg -l | grep php | grep -E 'php[0-9]'

二、切换 CLI 版本(命令行 php)

1️⃣ 使用 update-alternatives(推荐)

sudo update-alternatives --set php /usr/bin/php8.1

或交互式选择:

sudo update-alternatives --config php

验证:

php -v

三、Apache 下切换 PHP 版本

1️⃣ 禁用旧模块,启用新模块

sudo a2dismod php7.4
sudo a2enmod php8.1
sudo systemctl restart apache2

查看当前:

apache2ctl -M | grep php

四、Nginx 下切换 PHP 版本

Nginx 本身不处理 PHP,是通过 php-fpm 实现的。

1️⃣ 停止旧 php-fpm,启动新 php-fpm

sudo systemctl stop php7.4-fpm
sudo systemctl start php8.1-fpm
sudo systemctl enable php8.1-fpm

2️⃣ 修改 Nginx 配置

fastcgi_pass unix:/run/php/php8.1-fpm.sock;

然后:

sudo nginx -t
sudo systemctl reload nginx

五、同时安装多个 PHP 版本(常用)

如果你是用 ppa:ondrej/php

sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php7.4 php8.1 php8.2

六、常见问题

Composer 报错版本不对

php8.1 /usr/local/bin/composer

Web 和 CLI 版本不一致

  • Web:看 Apache/Nginx
  • CLI:看 update-alternatives

如果你告诉我:

  • Ubuntu 版本
  • 用的是 Apache 还是 Nginx
  • 当前 PHP 版本和目标版本

我可以给你精确命令

0