PHP在Ubuntu上如何更新

作者:袖梨 2026-06-15

PHP在Ubuntu上的更新方法

PHP在Ubuntu上如何更新

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

在更新PHP前,需先确保Ubuntu系统的软件包列表是最新的,避免因依赖冲突导致更新失败。执行以下命令:

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

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

若你只需要更新到Ubuntu官方仓库提供的最新PHP版本(通常不是最新稳定版,但稳定性较高),可直接通过APT操作:

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

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

Ubuntu官方仓库的PHP版本可能滞后,可通过Ondřej Surý的PPA(个人包档案)安装最新稳定版PHP(如PHP 8.2+)。步骤如下:

  1. 添加PPA源:
    sudo add-apt-repository ppa:ondrej/php# 添加PPAsudo apt update# 更新软件包列表(需重新拉取PPA中的包信息)
  2. 安装指定版本PHP:替换<version>为所需版本(如8.28.1),例如安装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版本(若安装多个版本):若系统中有多个PHP版本,可通过update-alternatives设置默认版本:
    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# 应显示安装的最新版本

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

若需要特定版本的PHP(如旧版修复或实验性功能),可手动编译安装。步骤如下:

  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源码:访问PHP官方网站下载所需版本(如php-8.1.22.tar.gz),然后解压:
    wget https://www.php.net/distributions/php-8.1.22.tar.gztar -xzvf php-8.1.22.tar.gzcd php-8.1.22
  3. 配置编译选项:根据需求调整配置(如启用mbstringcurlmysqli等扩展),示例:
    ./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-fpmsudo 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 nginxsudo systemctl restart php<version>-fpm# 替换为实际版本(如php8.2-fpm)
  2. 验证Web端PHP版本:创建info.php文件(路径:/var/www/html/info.php),内容为:
    <?php phpinfo(); ?>
    通过浏览器访问http://服务器IP/info.php,查看“PHP Version”是否为更新后的版本。

注意事项

  • 备份数据:更新前备份网站文件(如/var/www/html)和数据库(如MySQL),防止数据丢失。
  • 检查兼容性:确保应用程序支持目标PHP版本(如某些旧框架可能不兼容PHP 8.0+)。
  • 依赖问题:若安装过程中出现依赖错误,可通过sudo apt --fix-broken install修复。
  • PPA安全性:ondrej/php是Ubuntu社区常用的PPA,但仍需注意来源可靠性(建议仅用于开发或受信任的生产环境)。

相关文章

精彩推荐