需先确认PHP版本及系统发行版,再按Ubuntu/Debian用Ondřej PPA或CentOS/RHEL用Remi仓库安装PHP 8.3,同步安装CLI与FPM并配置Web服务器,最后重启服务、验证扩展加载及phpinfo输出。

确认当前PHP版本和系统环境
先别急着装新版本,php -v 看清你到底跑的是啥——是 php7.2 还是 php7.4.33?再用 lsb_release -a(Debian/Ubuntu)或 cat /etc/redhat-release(CentOS/RHEL)确认发行版及大版本号。很多升级失败不是因为命令错了,而是误判了系统源支持范围:比如 Ubuntu 20.04 默认源最高只到 php8.1,想装 php8.3 就必须加第三方仓库。
Debian/Ubuntu:用 Ondřej Surý 的 PPA 是最稳路径
官方源太保守,直接加 ppa:ondrej/php 才能拿到主流新版本。执行顺序不能错:
sudo apt updatesudo apt install software-properties-commonsudo add-apt-repository ppa:ondrej/php-
sudo apt update(这一步漏掉,后面装的还是旧包) sudo apt install php8.3 php8.3-fpm php8.3-mysql php8.3-curl php8.3-mbstring
注意:php8.3-cli 和 php8.3-fpm 必须同时装;如果只装 CLI,Web 请求仍走旧版本。Apache 用户还需 sudo a2enmod php8.3,Nginx 用户则要改 /etc/nginx/sites-enabled/xxx 里的 fastcgi_pass 指向 127.0.0.1:9001 或对应 socket 路径。
CentOS/RHEL:Remi 仓库比编译更可靠
手动编译看着自由,但容易缺依赖、扩展不全、服务启不来。生产环境首选 Remi:
立即学习“PHP免费学习笔记(深入)”;
- CentOS 7:
sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm - CentOS 8+:
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm - 启用 PHP 8.3:
sudo yum-config-manager --enable remi-php83(RHEL 8+ 用dnf) - 升级核心:
sudo yum update php\*(\*很关键,否则只更新主包,扩展仍旧)
升级后检查 php --ini 输出的配置路径是否指向 /etc/opt/remi/php83/,而不是旧的 /etc/php.ini——这是常见「明明装了新版本却没生效」的根源。
升级后必做的三件事,缺一不可
装完不等于跑通。很多人跳过验证直接上线,结果首页白屏、登录报错:
- 重启对应服务:
sudo systemctl restart apache2(Apache)或sudo systemctl restart nginx php8.3-fpm(Nginx + FPM) - 查扩展是否加载:
php -m | grep mysql,确认mysqli、pdo_mysql在列表里;若缺失,补装php8.3-mysql - 写个
info.php放网站根目录:,浏览器打开看顶部显示的版本、Loaded Configuration File 路径、以及有没有红色警告“Configuration File (php.ini) Path”下面没加载成功
最常被忽略的是扩展兼容性:比如 Laravel 10 要求 mbstring 和 xml,WordPress 插件可能依赖 zip,这些都得一个个核对。别信“装了 php8.3 就万事大吉”。











