Ubuntu下PHP-FPM版本升级步骤
/etc/php/{当前版本}/fpm/目录)及网站数据,防止升级过程中出现意外导致数据丢失。php-fpm -v或php -v命令,查看当前PHP-FPM及PHP核心版本,明确升级目标(如从7.4升级至8.2)。Ubuntu默认仓库的PHP版本可能较旧,需通过Ondřej Surý的PPA获取最新稳定版:
software-properties-common工具(用于管理PPA):sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update # 更新软件包列表以包含PPA中的PHP版本
注:若需特定小版本(如8.2),可直接添加对应PPA(如
ppa:ondrej/php8.2)。
sudo apt upgrade php-fpm
sudo apt install php8.2-fpm php8.2-cli php8.2-mysql php8.2-curl php8.2-mbstring php8.2-intl
注:将
php8.2替换为目标版本(如php7.4、php8.1),扩展可根据应用需求调整。
sudo a2disconf php7.4-fpm # Apache环境下禁用旧版
sudo a2enconf php8.2-fpm # Apache环境下启用新版
sudo systemctl restart php8.2-fpm
sudo systemctl status php8.2-fpm
若状态显示“active (running)”,则说明升级成功。php-fpm8.2 -v # 替换为目标版本(如php-fpm7.4)
/var/www/html/info.php文件,内容为<?php phpinfo(); ?>;http://服务器IP/info.php,确认页面显示的PHP版本与升级目标一致;info.php文件(避免安全风险)。fastcgi_pass指令指向新版本PHP-FPM的socket文件(如unix:/run/php/php8.2-fpm.sock;);SetHandler指令指向正确的PHP-FPM端口或socket(如proxy:fcgi://localhost:9000);sudo systemctl restart nginx或sudo systemctl restart apache2)。/etc/php/{当前版本}/fpm/下的所有配置文件,便于回滚;sudo apt --fix-broken install修复);