温馨提示×

Ubuntu如何配置PHP版本

小樊
42
2026-08-12 14:21:18
栏目: 编程语言

Ubuntu 上配置(切换/管理)PHP 版本,常见做法取决于你是通过 APT 安装 还是 编译安装。下面以 最常用、最安全的方式(APT + 多版本并存) 为主,并涵盖 Apache / Nginx 的配置。


一、查看当前 PHP 版本

php -v

二、添加 PHP 官方 PPA(推荐)

Ubuntu 自带仓库的 PHP 版本可能较旧,建议先添加 ondrej/php PPA(支持多版本):

sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

三、安装多个 PHP 版本

例如同时安装 PHP 7.4、8.1、8.2

sudo apt install php7.4 php7.4-cli php7.4-fpm
sudo apt install php8.1 php8.1-cli php8.1-fpm
sudo apt install php8.2 php8.2-cli php8.2-fpm

可根据需要安装模块:

sudo apt install php8.2-mysql php8.2-curl php8.2-xml php8.2-mbstring

四、命令行 PHP 版本切换(CLI)

查看已安装版本

update-alternatives --list php

切换 CLI PHP 版本

sudo update-alternatives --config php

按提示选择版本即可。

验证:

php -v

五、Web 服务器 PHP 版本配置

✅ Apache(mod_php / FPM)

1️⃣ 禁用旧 PHP 模块

sudo a2dismod php7.4

2️⃣ 启用新 PHP 模块(mod_php 方式)

sudo a2enmod php8.2
sudo systemctl restart apache2

⚠️ 如果使用 PHP-FPM + Apache(推荐),见下方


✅ Apache + PHP-FPM(推荐)

sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.2-fpm
sudo systemctl restart apache2

切换版本:

sudo a2disconf php7.4-fpm
sudo a2enconf php8.2-fpm
sudo systemctl restart apache2

✅ Nginx + PHP-FPM

1️⃣ 停止旧版本 FPM

sudo systemctl stop php7.4-fpm

2️⃣ 启动新版本 FPM

sudo systemctl start php8.2-fpm

3️⃣ 修改 Nginx 配置

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}

重启 Nginx:

sudo systemctl restart nginx

六、查看当前生效的 PHP 版本(Web)

创建测试文件:

echo "<?php phpinfo();" | sudo tee /var/www/html/info.php

浏览器访问:

http://服务器IP/info.php

七、常见问题

1️⃣ 同时运行多个 PHP 版本?

✅ 可以

  • CLI:用 update-alternatives
  • Web:不同站点使用不同 php-fpm.sock

2️⃣ Ubuntu 20.04 / 22.04 推荐版本?

Ubuntu 推荐 PHP
20.04 7.4 / 8.1
22.04 8.1 / 8.2

八、卸载某个 PHP 版本

sudo apt purge php7.4*
sudo apt autoremove

如果你愿意,可以告诉我:

  • ✅ Ubuntu 版本
  • ✅ 使用 Apache 还是 Nginx
  • ✅ 想从哪个 PHP 版本切换到哪个

我可以给你 精确到命令级别 的方案。

0