在 Ubuntu 下升级 PHP,常见做法有 使用官方 PPA(推荐) 和 系统自带源升级 两种。下面按 最常用、最安全 的方式一步步说明。
php -v
Ubuntu 官方源里的 PHP 版本通常较旧,生产环境或新项目强烈推荐用 Ondřej Sury 的 PPA。
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
apt-cache search php | grep "^php[0-9]"
例如:
sudo apt install php8.2 php8.2-cli php8.2-fpm \
php8.2-mysql php8.2-curl php8.2-mbstring \
php8.2-xml php8.2-zip php8.2-gd
根据你的项目需要选择扩展
sudo update-alternatives --config php
选择对应编号即可。
验证:
php -v
sudo a2dismod php8.1
sudo a2enmod php8.2
sudo systemctl restart apache2
查看已启用模块:
apache2ctl -M | grep php
sudo systemctl stop php8.1-fpm
sudo systemctl disable php8.1-fpm
sudo systemctl enable php8.2-fpm
sudo systemctl start php8.2-fpm
修改 nginx 配置:
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
重启 Nginx:
sudo systemctl restart nginx
sudo apt remove php8.1*
sudo apt autoremove
| Ubuntu | 默认 PHP |
|---|---|
| 20.04 | 7.4 |
| 22.04 | 8.1 |
| 24.04 | 8.3 |
phpinfo() 或 php -m/var/log/php8.2-fpm.log✅ 可以,通过 update-alternatives 和不同 FPM sock 控制
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.2 php8.2-fpm
sudo systemctl restart nginx
如果你愿意,可以告诉我:
我可以给你 完全定制化的升级命令。