使用包管理器更新(推荐,适用于大多数场景)
包管理器是Linux系统更新PHP的便捷方式,适用于Debian/Ubuntu(APT)和CentOS/RHEL(YUM/DNF)系统。操作前需备份重要数据和配置文件(如php.ini、网站文件),避免升级失败导致数据丢失。
Debian/Ubuntu系统(APT):
sudo apt update;sudo apt upgrade php php-cli php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip(可根据实际安装的模块调整);php -v,确认输出为新版本号。CentOS/RHEL系统(YUM/DNF):
sudo yum clean all && sudo yum update;sudo yum update php(若使用DNF,替换为sudo dnf update php);php -v,确认升级成功。通过第三方仓库更新(获取最新稳定版)
若系统自带仓库的PHP版本较旧,可通过添加第三方仓库(如Ondřej Surý的PPA、Remi仓库)安装最新版本。适用于需要PHP 8.x等新特性的场景。
Debian/Ubuntu系统(Ondřej Surý PPA):
sudo add-apt-repository ppa:ondrej/php;sudo apt update;sudo apt install php8.1 php8.1-cli php8.1-fpm php8.1-mysql;sudo update-alternatives --config php。CentOS/RHEL系统(Remi仓库):
sudo yum install epel-release;sudo yum install https://rpms.remirepo.net/enterprise/remi-release-$(rpm -E %rhel).rpm(替换$(rpm -E %rhel)为系统版本,如7、8);sudo yum-config-manager --enable remi-php81;sudo yum update php\*;php -v。手动编译安装(高级用户,自定义需求)
若需要完全自定义PHP配置(如启用特定扩展、优化性能),可选择手动编译安装。步骤较复杂,需提前安装依赖库。
安装依赖库:
sudo apt install build-essential libxml2-dev libssl-dev libcurl4-openssl-dev libonig-dev libzip-dev;sudo yum install gcc make autoconf libc-dev zlib-devel libxml2-devel bzip2-devel curl-devel libjpeg-devel libpng-devel freetype-devel openssl-devel。下载并解压源码:
访问PHP官网(https://www.php.net/downloads.php)下载所需版本(如php-8.2.0.tar.gz),使用命令解压:wget https://www.php.net/distributions/php-8.2.0.tar.gz && tar -xzf php-8.2.0.tar.gz && cd php-8.2.0。
配置编译选项:
运行./configure命令,指定安装路径、启用扩展(如--enable-mbstring、--with-openssl):
./configure --prefix=/usr/local/php8.2 --enable-mbstring --enable-zip --with-openssl --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd(可根据需求调整)。
编译并安装:
执行make编译源码(耗时较长),完成后运行sudo make install安装到指定路径。
配置环境与Web服务器:
cp php.ini-production /usr/local/php8.2/etc/php.ini;cp sapi/fpm/php-fpm.conf /usr/local/php8.2/etc/php-fpm.conf、cp sapi/fpm/www.conf /usr/local/php8.2/etc/php-fpm.d/www.conf,然后运行sudo /usr/local/php8.2/sbin/php-fpm;LoadModule php_module modules/libphp.so,Nginx配置fastcgi_pass unix:/tmp/php-fpm.sock)。验证与切换:
运行php -v确认版本,重启Web服务器(sudo systemctl restart apache2或sudo systemctl restart nginx),通过info.php页面验证Web环境中的PHP版本。
注意事项
https://www.php.net/manual/en/migration.php),确保应用程序与新版本兼容(如函数弃用、语法变更);php.ini、网站数据库、项目文件,防止升级过程中出现意外;