Ubuntu系统升级PHP版本的常用方法
更新系统及包列表
运行以下命令确保系统包列表是最新的:
sudo apt update && sudo apt upgrade -y
安装目标PHP版本
若官方仓库有所需版本(如PHP 8.1),直接指定版本号安装:
sudo apt install php8.1
安装完成后,可通过php -v验证版本。
升级现有PHP版本
若已安装旧版PHP(如PHP 7.4),需先移除旧版本再安装新版本,或使用--only-upgrade参数升级:
sudo apt remove php7.4 && sudo apt install php8.1
# 或仅升级现有包(需提前添加新版本仓库)
sudo apt --only-upgrade install php7.4
安装对应扩展
根据项目需求安装PHP扩展(如MySQL、GD等),避免功能缺失:
sudo apt install php8.1-mysql php8.1-gd php8.1-mbstring
重启Web服务
sudo systemctl restart apache2
sudo systemctl restart php8.1-fpm && sudo systemctl restart nginx
添加Ondřej Surý的PHP PPA
该PPA提供最新的PHP稳定版本,执行以下命令添加:
sudo add-apt-repository ppa:ondrej/php
sudo apt update
安装指定PHP版本
从PPA中选择所需版本安装(如PHP 8.2):
sudo apt install php8.2
切换默认PHP版本(可选)
若系统有多个PHP版本,可通过update-alternatives设置默认版本:
sudo update-alternatives --set php /usr/bin/php8.2
配置Web服务
同APT方法,重启Apache或Nginx及PHP-FPM服务。
安装编译依赖
下载PHP源码前,安装必要的编译工具和库:
sudo apt install build-essential libxml2-dev libssl-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libonig-dev libzip-dev
下载并解压PHP源码
从PHP官网下载所需版本(如PHP 8.3),并解压:
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
配置编译选项
根据需求配置编译参数(如启用mbstring、openssl等):
./configure --prefix=/usr/local/php8.3 --with-config-file-path=/etc/php/8.3/cli --enable-mbstring --with-openssl --with-curl --with-zlib --with-jpeg --with-png
编译并安装
编译源码并安装到指定目录:
make -j$(nproc)
sudo make install
配置PHP文件
复制默认配置文件到系统目录:
sudo cp php.ini-production /etc/php/8.3/cli/php.ini
sudo cp php-fpm.conf.default /etc/php/8.3/fpm/php-fpm.conf
sudo cp www.conf.default /etc/php/8.3/fpm/pool.d/www.conf
启动服务并验证
启动PHP-FPM并重启Web服务:
sudo systemctl start php8.3-fpm
sudo systemctl restart apache2 # 或nginx
php -v # 验证版本
php.ini),防止数据丢失。apt-cache depends phpX.X检查依赖关系,解决冲突后再升级。以上方法覆盖了Ubuntu系统升级PHP的常见场景,可根据实际需求选择合适的方式。