ubuntu中PHP升级详细方法

本文介绍在Ubuntu上升级php,从PHP 8.1.x升级到8.2.x的方法和步骤。。

一、准备阶段

1. 确认现有PHP环境

检查当前版本

复制代码
php -v

2. 添加PHP仓库

  • 添加包含PHP 8.2的第三方PPA

    sudo add-apt-repository ppa:ondrej/php

  • 更新包列表 刷新软件包缓存

    sudo apt update

二、安装阶段

1、安装PHP 8.2

安装核心及常用扩展

复制代码
sudo apt install php8.2 php8.2-cli php8.2-common
  • 安装所需扩展 按需安装其他扩展(如fpm、mysql等)

    复制代码
    sudo apt install php8.2-fpm php8.2-mysql

2、切换PHP版本

  • 为命令行和Web服务配置新版本

    sudo update-alternatives --config php

三、验证阶段

1、验证新版本安装情况

  • 重启apache服务

    sudo systemctl restart apache2

  • 检查版本

    • php -v
  • 检查Web服务器PHP版本

    sudo -u www-data php -v

  • 如果上述代码显示的版本是 8.2,说明升级成功,否则,你需要用以下方法手段切换web服务器的php版本为8.2

    sudo a2query -m php8.2 # 返回 "enabled"为正常

  • 如果上述代码显示非enabled,执行下列代码

    sudo a2dismod php8.1 # 禁用旧版本
    sudo a2enmod php8.2 # 启用新版本
    sudo systemctl restart apache2 #重启web服务器
    sudo -u www-data php -v #检查web中的php版本

2、测试业务在新版本中是否正常运行

  • 这一步要根据业务类型,测试升级后的php8.2版本是否与你现有的业务系统兼容。

3、 清理旧版本

  • 如果你确认你的新版本稳定后,可以移除PHP 8.1版本,当然你也可以选择不移除,这不影响你的业务。

    sudo apt purge php8.1*

四、注意事项与说明

1、添加仓库:

  • ondrej/php PPA 是Ubuntu社区广泛使用和维护的PHP仓库,可靠性较高。如果你之前已经添加过此仓库用于安装PHP 8.1,则无需重复添加。

2、安装扩展:

  • 这是最关键的一步。你必须安装所有PHP 8.1上已安装的扩展的对应8.2版本。你可以用以下命令查看已安装的8.1扩展,然后逐一安装:

    dpkg -l | grep php8.1

复制代码
dpkg -l | grep php8.2
复制代码
安装php8.2缺少的插件

sudo apt install php8.2-zip php8.2-curl php8.2-gd php8.2-intl php8.2-mbstring php8.2-soap php8.2-xml
  • 对于Apache Web服务器,安装 libapache2-mod-php8.2,会自动禁用旧版本模块并启用新模块。

    sudo apt install libapache2-mod-php8.2

3、业务测试

  • 升级后,需要访问你的网站,检查功能是否正常。之前你遇到的H5P版本兼容问题,在PHP升级后也是否解决。

4、 数据备份

  • 操作前,请备份重要的PHP配置文件(如 /etc/php/apache/8.1/ 下的php.ini及conf.d/中的自定义配置)和Web服务器配置。

  • 只有在确认所有网站和依赖PHP的应用在8.2上运行稳定后,才建议卸载PHP 8.1以保持系统整洁。

相关推荐
一叶龙洲10 小时前
wslg打开Ubuntu24.04默认打开图形界面
linux·服务器·数据库·ubuntu
敖行客 Allthinker12 小时前
Parallels Ubuntu虚拟机项目如何让手机访问?完整解决方案
linux·运维·ubuntu
keyipatience13 小时前
线程栈与TLS和线程互斥
java·linux·服务器·开发语言·ubuntu
j7~13 小时前
【Linux】二十二.《Linux 信号机制完全指南:表示、捕捉与处理》
linux·信号处理·volatile·可入重函数·保存信号
weixin_4080996713 小时前
2026 图片去水印 API 接口完全指南:一键去除图片水印(附 Python/Java/PHP/C# 示例)
java·python·php·图片处理·api调用·图片去水印·石榴智能
观山岳五楼14 小时前
Ubuntu 24 怎么使用Ubuntu 20 的镜像源
linux·运维·ubuntu
m0_7156467615 小时前
20260720
linux·arm
寒晓星15 小时前
[linux]线程及多线程
linux·运维
辰痕~15 小时前
物理机装Linux操作系统(Ubuntu为例)
linux·ubuntu
国服第二切图仔17 小时前
13其他工具 - Skill/LSP/Sleep等
linux·运维·里氏替换原则