温馨提示×

怎样更新Ubuntu上的PHP版本

小樊
60
2025-09-19 01:31:38
栏目: 编程语言

怎样更新Ubuntu上的PHP版本

在Ubuntu上更新PHP版本有多种方法,以下是最常用的三种方式,涵盖从简单到灵活的场景:

一、使用APT包管理器(默认仓库,适合常规更新)

如果Ubuntu默认仓库中有目标PHP版本(如Ubuntu 22.04默认支持PHP 8.1),可直接通过APT更新:

  1. 更新软件包列表:同步系统软件包信息,确保获取最新版本。
    sudo apt update 
  2. 安装目标PHP版本:指定版本号安装(如php8.1),若未安装则会自动下载;若已安装旧版本,此命令会直接升级。
    sudo apt install php8.1 
  3. 验证安装结果:通过终端命令查看PHP版本,确认更新成功。
    php -v 

注意:默认仓库的PHP版本可能滞后,若需最新稳定版,建议使用PPA扩展仓库。

二、添加Ondřej Surý的PPA(推荐,获取最新稳定版)

Ondřej Surý的PPA提供了最新的PHP版本(如PHP 8.2+),是Ubuntu用户最常用的第三方仓库:

  1. 添加PPA仓库:执行以下命令添加仓库(需联网)。
    sudo add-apt-repository ppa:ondrej/php 
  2. 更新软件包列表:包含PPA中的新版本信息。
    sudo apt update 
  3. 安装目标PHP版本:选择所需版本(如php8.2)安装。
    sudo apt install php8.2 
  4. 验证与重启服务:检查版本并重启Web服务器(Apache/Nginx)使更改生效。
    php -v sudo systemctl restart apache2 # Apache用户 sudo systemctl restart nginx # Nginx用户 

提示:安装前可通过apt-cache policy php8.2查看可用版本,避免安装错误。

三、手动编译安装(定制化需求,适合特定版本)

若需要安装默认仓库和PPA中没有的PHP版本(如PHP 8.3 alpha版),可通过源码编译安装:

  1. 安装编译依赖:准备编译环境,安装必要工具和库。
    sudo apt update sudo apt install build-essential libxml2-dev libssl-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libonig-dev libzip-dev 
  2. 下载PHP源码:从PHP官网获取目标版本的压缩包(如PHP 8.3.0)。
    wget https://www.php.net/distributions/php-8.3.0.tar.gz tar -xzvf php-8.3.0.tar.gz cd php-8.3.0 
  3. 配置编译选项:根据需求启用模块(如mbstringopenssl),指定安装路径。
    ./configure --with-config-file-path=/etc/php/8.3/cli --enable-mbstring --with-openssl --with-curl --with-jpeg --with-png 
  4. 编译并安装:编译源码(耗时较长),安装到系统目录。
    make -j$(nproc) # 使用多核加速编译 sudo make install 
  5. 配置与验证:复制默认配置文件,检查版本。
    sudo cp php.ini-production /etc/php/8.3/cli/php.ini php -v 

注意:手动编译需自行管理依赖和更新,适合有经验的用户;若需维护多个版本,建议使用版本管理工具(如phpbrew)。

四、版本管理与切换(多版本共存)

若需在同一台机器上运行多个PHP版本,可使用以下工具:

1. 使用update-alternatives(系统自带)

  • 安装多个版本:通过APT安装所需版本(如php7.4php8.1)。
    sudo apt install php7.4 php8.1 
  • 配置默认版本:通过交互式命令设置全局默认版本。
    sudo update-alternatives --config php 
    选择对应版本编号即可切换。
  • 切换PHP-FPM(若使用):针对Web服务器配置,需单独设置。
    sudo update-alternatives --set php-fpm /usr/sbin/php7.4-fpm # 切换到PHP 7.4-FPM sudo systemctl restart php7.4-fpm sudo systemctl restart nginx 

2. 使用phpbrew(灵活管理)

  • 安装phpbrew:通过Phar文件安装,移动到可执行路径。
    curl -L -O https://github.com/phpbrew/phpbrew/releases/latest/download/phpbrew.phar chmod +x phpbrew.phar sudo mv phpbrew.phar /usr/local/bin/phpbrew 
  • 初始化配置:将phpbrew添加到Shell环境(如.bashrc)。
    echo '[[ -e ~/.phpbrew/bashrc ]] && source ~/.phpbrew/bashrc' >> ~/.bashrc source ~/.bashrc 
  • 安装与切换版本:通过phpbrew命令安装、切换版本。
    phpbrew install 8.2 +default # 安装PHP 8.2并设为默认 phpbrew switch php-8.2 # 切换到PHP 8.2 phpbrew list # 查看已安装版本 

提示:切换版本后,需重启Web服务器(Apache/Nginx)使更改生效。

注意事项

  • 备份数据:升级前备份网站文件和数据库,避免数据丢失。
  • 测试环境:生产环境升级前,先在测试环境验证兼容性(如扩展、代码)。
  • 依赖兼容:确保项目依赖(如Composer包)与新版本PHP兼容,避免报错。
  • 扩展安装:升级后需重新安装或更新PHP扩展(如php-mysqlphp-gd),确保功能正常。

0