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

相关推荐
FJW020814几秒前
LVS企业实战
linux·服务器·lvs
EverydayJoy^v^3 分钟前
RH124简单知识点——第9章——管理网络
linux·运维·网络
Shingmc35 分钟前
【Linux】基础IO
linux·运维·服务器
qq_406176145 分钟前
吃透JS异步编程:从回调地狱到Promise/Async-Await全解析
服务器·开发语言·前端·javascript·php
wdfk_prog15 分钟前
[Linux]学习笔记系列 -- [drivers][base]dd
linux·笔记·学习
blueSatchel15 分钟前
bus_register源码研究
linux·c语言
AOwhisky30 分钟前
iSCSI 网络存储服务从入门到精通
linux·运维·网络
刘叨叨趣味运维34 分钟前
服务器硬件全面解析:从CPU到网卡的运维必备知识
linux
不会代码的小猴35 分钟前
Linux环境编程第二天笔记
linux·笔记
Channing Lewis36 分钟前
linux进入重启了如何阻止
linux·运维·服务器