ubuntu 22.04 默认源仅提供 php 8.1,因 canonical lts 策略锁定版本;要安装 php 8.3 必须添加 ondrej/php ppa,否则 apt 无法定位 php8.3 包。

Ubuntu 22.04 默认源只提供 PHP 8.1,要装 PHP 8.3 必须加第三方 PPA——ondrej/php 是目前唯一稳定、更新及时、包命名规范的来源。跳过它直接 apt install php 只会装到 8.1,且后续无法平滑升级。
为什么 Ubuntu 22.04 装不了 php8.3?
系统默认仓库锁定 PHP 主版本:22.04 的 php 元包永远指向 8.1,这是 Canonical 的 LTS 策略,不是 bug。你搜到的“apt install php8.3 失败”几乎都卡在这一步——没加源就直接装,apt 根本找不到包。
- 运行
apt list php8.3*返回Unable to locate package,说明源未就绪 -
apt update前不加 PPA,再怎么apt upgrade也升不到 8.3 - 别用
ppa:ondrej/php以外的源,比如某些镜像站自建的 PHP 源,常缺签名或混入非官方构建包,导致php-fpm启动失败或扩展加载异常
添加 ondrej/php 并安装核心包
PPA 导入必须用 add-apt-repository(不是手动改 /etc/apt/sources.list),否则密钥和架构适配容易出错。执行顺序不能颠倒:
- 先装依赖:
sudo apt install software-properties-common apt-transport-https -y - 再加源:
sudo add-apt-repository ppa:ondrej/php -y(会自动导入 GPG 密钥) - 更新索引:
sudo apt update(这步漏掉,后面所有apt install都无效) - 装最小可用集:
sudo apt install php8.3-cli php8.3-fpm php8.3-mysql php8.3-mbstring php8.3-xml php8.3-curl php8.3-zip -y
注意:php8.3 元包本身不装任何二进制,只起占位作用;必须显式指定 php8.3-cli 等子包,否则 php -v 仍调用旧版本。
Web 服务器怎么连上 php8.3-fpm?
Nginx 和 Apache 的接入逻辑完全不同,混用配置会导致 502 或 500 错误:
- Apache 用户:别装
libapache2-mod-php8.3——这个包在 ondrej/php 中已废弃,强制安装会冲突;改用mod_proxy_fcgi+php8.3-fpm,命令是sudo a2enmod proxy_fcgi rewrite,再启用站点配置里的ProxyPassMatch - Nginx 用户:确认
php8.3-fpm已启动(sudo systemctl status php8.3-fpm),然后检查/etc/php/8.3/fpm/pool.d/www.conf中listen = /run/php/php8.3-fpm.sock和listen.owner = www-data是否匹配 Nginx worker 用户 - 无论哪种服务器,改完配置后必须
sudo systemctl reload nginx或sudo systemctl restart apache2,reload比restart更安全,避免服务中断
装完 php8.3 扩展却没生效?
Ubuntu 下大部分扩展(如 mysqli、pdo_mysql)装完即启用,但有三个例外必须手动处理:
-
opcache:需编辑/etc/php/8.3/fpm/php.ini,取消注释zend_extension=opcache行,并确保opcache.enable=1 -
gd:如果装了php8.3-gd但php -m | grep gd不显示,检查是否漏装依赖:sudo apt install libjpeg-dev libpng-dev libfreetype6-dev,再重装php8.3-gd -
redis或memcached:这类第三方扩展不进官方源,必须用pecl install redis,且要手动写extension=redis.so到/etc/php/8.3/mods-available/redis.ini,再运行sudo phpenmod redis
最易忽略的是:CLI 和 FPM 使用不同的 php.ini 文件,php -v 看的是 CLI 配置,而网页请求走的是 FPM 配置,调试时务必用 phpinfo() 页面确认实际加载的 ini 路径。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











