温馨提示×

Ubuntu LNMP中PHP版本如何升级

小樊
59
2025-09-18 13:56:38
栏目: 编程语言

Ubuntu LNMP环境中升级PHP版本的步骤

1. 升级前准备:备份关键数据

在进行任何升级操作前,务必备份以下内容,避免数据丢失:

  • 网站文件:tar -czvf /path/to/website_backup.tar.gz /var/www/html(替换为实际网站根目录);
  • 数据库:mysqldump -u root -p --all-databases > /path/to/full-backup.sql(替换为实际数据库用户名);
  • 配置文件:cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bakcp -r /etc/nginx/sites-available /etc/nginx/sites-available.bakcp /etc/php/{旧版本}/fpm/php.ini /etc/php/{旧版本}/fpm/php.ini.bak(替换为实际PHP旧版本,如7.4)。

2. 更新系统软件包列表

运行以下命令,确保系统软件包列表为最新:

sudo apt update
sudo apt upgrade -y

3. 添加PHP官方PPA仓库(推荐)

Ubuntu默认仓库的PHP版本可能较旧,需添加Ondřej Surý的PHP PPA(提供最新稳定版):

sudo add-apt-repository ppa:ondrej/php
sudo apt update

4. 查看可用的PHP版本

通过以下命令列出PPA中可用的PHP版本,选择需要升级的目标版本(如8.0、8.1等):

apt-cache search php | grep -E 'php[0-9]+(\.[0-9]+){0,2}'

5. 卸载旧版本PHP(可选但建议)

若旧版本PHP是通过apt安装的,可彻底卸载以避免冲突:

sudo apt remove --purge php* php*-fpm php*-mysql php*-curl php*-gd
sudo apt autoremove -y

6. 安装新版本PHP及常用扩展

替换{目标版本}(如8.0)为实际需要的版本,安装PHP核心包及常用扩展(如MySQL、GD、CURL等):

sudo apt install php{目标版本} php{目标版本}-fpm php{目标版本}-mysql php{目标版本}-curl php{目标版本}-gd php{目标版本}-mbstring php{目标版本}-xml php{目标版本}-zip -y

7. 重启PHP-FPM服务

升级完成后,重启PHP-FPM以应用新版本:

sudo systemctl restart php{目标版本}-fpm

8. 验证PHP版本

通过命令行和Web界面双重验证,确保升级成功:

  • 命令行验证php -v(显示PHP版本信息);
  • Web界面验证:创建/var/www/html/info.php文件,内容为<?php phpinfo(); ?>,通过浏览器访问http://服务器IP/info.php,确认显示的PHP版本与目标版本一致。验证后删除该文件rm /var/www/html/info.php),避免安全风险。

9. 检查Nginx配置(可选)

若Nginx的fastcgi_pass指令指向旧版PHP-FPM的socket或端口(如/run/php/php7.4-fpm.sock),需修改为新版路径(如/run/php/php{目标版本}-fpm.sock),并测试配置语法:

sudo nginx -t  # 测试配置文件语法
sudo systemctl restart nginx  # 重启Nginx

注意事项

  • 兼容性检查:升级前确认网站程序(如WordPress、Laravel等)支持目标PHP版本,避免因兼容性问题导致网站异常;
  • 依赖解决:若安装过程中出现依赖冲突,可尝试sudo apt --fix-broken install修复;
  • 源码编译升级:若通过源码编译安装PHP,需下载新版本源码、配置编译选项(./configure)、编译安装(make && sudo make install),并重新配置Nginx和PHP-FPM,步骤较复杂,推荐优先使用包管理器升级。

0