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以保持系统整洁。

相关推荐
郑州光合科技余经理2 分钟前
出海外卖平台:支付对接为什么要和下单收款分开
android·java·开发语言·前端·后端·php·ai编程
Huangjin007_9 分钟前
【Linux 系统篇(二十八)】文件(五):Ext 系列文件系统(下):Ext2块组结构,inode与文件寻址原理
linux·运维·服务器
谢亮_vipxieliang13 分钟前
PHP 异常处理全解析:try-catch、自定义异常与全局异常处理器
开发语言·php
javachen__22 分钟前
JsonView:一套VO实现多角色字段返回
java·linux·服务器
睡一觉就好了。32 分钟前
TcpSocket
linux
小陈运维36 分钟前
使用kubeadm初始化IPV4/IPV6集群
linux·docker·云原生·容器·kubernetes
JaguarJack44 分钟前
免费可商用 PHP 管理后台 CatchAdmin V5.4.1 发布,新增 MCP 支持
后端·php·laravel·服务端
东风微鸣1 小时前
精简 Ubuntu Linux 固件包:每个 N100 节点省下约 450 MB
linux·ubuntu·postgresql
snhna1 小时前
Agent 上云部署实战(上):从 GitHub 到 Linux,用 Dify 跑通中间件、域名和 HTTPS
linux·中间件
BingoGo1 小时前
免费可商用 PHP 管理后台 CatchAdmin V5.4.1 发布,新增 MCP 支持
后端·php