首页 > 编程语言 >如何在Ubuntu上更新PHP

如何在Ubuntu上更新PHP

来源:互联网 2026-06-15 08:21:01

在Ubuntu上更新PHP有三种方式:APT包管理器获取官方稳定版,添加ondrej/phpPPA获取最新稳定版,或手动编译安装自定义配置。更新后需重启Web服务器并检查版本,注意兼容性与备份,建议在测试环境先行验证以确保安全。

在 Ubuntu 上更新 PHP,不同场景有不同方法。有些用户希望使用系统自带的稳定版本,有些想立即体验最新特性,还有些因项目特殊需求需要自行编译定制版本。以下详细介绍几种主流更新方式。

如何在Ubuntu上更新PHP

长期稳定更新的攒劲资源: >>>点此立即查看<<<

一、准备工作:更新系统软件包列表

更新 PHP 前,务必刷新系统软件包列表,否则容易因依赖冲突导致问题。执行以下两个指令:

sudo apt update # 更新软件包列表
sudo apt upgrade # 升级所有已安装的软件包(可选但建议)

二、方法一:使用APT包管理器更新(适用于官方仓库版本)

如果只需要 Ubuntu 官方仓库中的 PHP 版本(非最新但稳定),直接使用 APT 最为省心。操作步骤如下:

  1. 安装最新可用 PHP 版本:
    sudo apt install php # 默认安装最新稳定版(如Ubuntu 22.04仓库中的PHP 8.1)
  2. 若已安装旧版,仅升级 PHP 及关联模块,可加上 --only-upgrade 参数:
    sudo apt --only-upgrade install php php-cli php-fpm php-mysql php-gd php-mbstring
  3. 确认安装结果:
    php -v # 查看当前PHP版本

三、方法二:通过PPA添加官方源更新(推荐,获取最新稳定版)

Ubuntu 官方仓库的 PHP 版本更新较慢。若需使用 PHP 8.2 或更高版本,Ondej Sur 的 PPA 是社区常用方案。操作并不复杂:

  1. 添加 PPA:
    sudo add-apt-repository ppa:ondrej/php # 添加PPA
    sudo apt update # 更新软件包列表
  2. 安装指定版本,例如 PHP 8.2:
    sudo apt install php8.2 # 安装PHP核心
    sudo apt install php8.2-cli php8.2-fpm php8.2-mysql php8.2-gd php8.2-mbstring # 安装常用扩展
  3. 若系统存在多个 PHP 版本,需设置默认版本:
    sudo update-alternatives --set php /usr/bin/php8.2 # 设置CLI默认版本
    sudo update-alternatives --set php-fpm /usr/sbin/php8.2-fpm # 设置PHP-FPM默认版本(如使用Nginx)
  4. 验证版本:
    php -v # 应显示安装的最新版本

四、方法三:手动编译安装(高级用户,自定义配置)

某些场景下(如需要特定旧版本的修复补丁,或开启特殊编译选项),APT 和 PPA 无法满足需求,需手动编译。操作步骤如下:

  1. 安装编译工具链和依赖:
    sudo apt install build-essential libxml2-dev libssl-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libfreetype6-dev libonig-dev libzip-dev
  2. 从 PHP 官网下载所需版本,解压并进入目录:
    wget https://www.php.net/distributions/php-8.1.22.tar.gz
    tar -xzvf php-8.1.22.tar.gz
    cd php-8.1.22
  3. 根据需求配置编译选项(如启用 mbstring、curl 等扩展):
    ./configure --prefix=/usr/local/php8.1 --with-config-file-path=/etc/php/8.1/cli --enable-mbstring --with-curl --with-openssl --with-mysqli --with-pdo-mysql
  4. 编译安装:
    make -j$(nproc) # 多线程编译
    sudo make install # 安装到指定目录
  5. 环境配置:
    • 复制配置文件:
      sudo cp php.ini-production /etc/php/8.1/cli/php.ini # CLI配置
      sudo cp php-fpm.conf.default /etc/php/8.1/fpm/php-fpm.conf # FPM配置
      sudo cp /etc/php/8.1/fpm/php-fpm.conf /etc/php/8.1/fpm/php-fpm.conf # 确保FPM配置存在
      sudo cp /etc/php/8.1/fpm/pool.d/www.conf.default /etc/php/8.1/fpm/pool.d/www.conf # FPM进程池配置
    • 启动 PHP-FPM(配合 Nginx 使用时):
      sudo systemctl start php8.1-fpm
      sudo systemctl enable php8.1-fpm
  6. 最后检查版本:
    /usr/local/php8.1/bin/php -v # 查看手动安装的PHP版本

五、更新后必要操作

  1. 重启 Web 服务器:
    • Apache 用户:
      sudo systemctl restart apache2
    • Nginx + PHP-FPM 用户:
      sudo systemctl restart nginx
      sudo systemctl restart php-fpm # 替换为实际版本(如php8.2-fpm)
  2. 验证 Web 环境中的 PHP 版本:创建 info.php 文件(例如放在 /var/www/html/info.php),内容为:
    然后在浏览器访问 http://服务器IP/info.php,核对该版本是否符合预期。

注意事项

  • 备份必不可少:更新前建议备份网站文件(如 /var/www/html)和数据库,以便出现问题时回滚。
  • 兼容性需确认:并非所有旧项目都能无缝升级至 PHP 8.0+,尤其一些历史较久的框架。建议先在测试环境进行验证。
  • 依赖问题:若安装过程出现依赖错误,可尝试 sudo apt --fix-broken install,通常可解决大部分问题。
  • PPA 的安全性:ondrej/php 虽被广泛使用,但并非官方源。开发环境可随意使用,生产环境若采用,建议先评估风险。

侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述

热游推荐

更多
湘ICP备14008430号-1 湘公网安备 43070302000280号
All Rights Reserved
本站为非盈利网站,不接受任何广告。本站所有软件,都由网友
上传,如有侵犯你的版权,请发邮件给xiayx666@163.com
抵制不良色情、反动、暴力游戏。注意自我保护,谨防受骗上当。
适度游戏益脑,沉迷游戏伤身。合理安排时间,享受健康生活。