本文基于 WordPress 官方 Hosting Handbook(2026-09 口径)与各大发行版官方仓库/文档整理。版本号会随上游滚动,部署前请以官方最新说明为准。
目录
- 为什么 PHP 版本对 WordPress 如此关键
- PHP 自身生命周期速查(2026 视角)
- WordPress 各版本对 PHP 的兼容性矩阵
- 最常见的几类兼容性“坑”
- 如何查看与升级 PHP
- 常见发行版仓库对应的 PHP 版本范围
- 国产化(信创)环境特别说明
- 选型速查与落地建议
一、为什么 PHP 版本对 WordPress 如此关键
WordPress 核心 100% 由 PHP 编写,PHP 版本直接决定三件事:
- 安全性:PHP 一旦停止安全更新(EOL),漏洞不再修补;跑在 EOL PHP 上的 WP 站点等于“裸奔”。
- 性能:PHP 7.x 比 5.6 快约 2 倍,PHP 8.x 在 7.4 基础上再快 15%~30%(JIT 对 WP 这类 IO 型应用收益有限,但总体更优)。
- 扩展与插件可用性:大量现代插件/主题已声明
Requires PHP: 8.1甚至8.2;老旧插件则可能只兼容到 7.4。PHP 版本卡在低位,会反过来限制你能装什么。
一句话:PHP 版本是 WordPress 的“地基”,地基太老,上面什么都盖不高。
二、PHP 自身生命周期速查(2026 视角)
| PHP 版本 | 活跃支持结束 | 安全支持结束(EOL) | 现状 |
|---|---|---|---|
| 5.6 | 2017-01 | 2018-12 | 早已淘汰,严禁用于 WP |
| 7.0 | 2018-01 | 2019-01 | 淘汰 |
| 7.1 | 2019-01 | 2019-12 | 淘汰 |
| 7.2 | 2019-11 | 2020-11 | 淘汰 |
| 7.3 | 2020-12 | 2021-12 | 淘汰 |
| 7.4 | 2021-11 | 2022-11 | EOL,仅由发行版 LTS 回填安全补丁 |
| 8.0 | 2022-11 | 2023-11 | EOL |
| 8.1 | 2023-11 | 2025-12-31 | 已停安全更新 |
| 8.2 | 2024-12 | 2026-12-31 | 安全维护中(将 EOL) |
| 8.3 | 2025-12 | 2027-12 | 安全维护中 |
| 8.4 | 2026-11 | 2028-11 | 活跃支持中,官方推荐 |
| 8.5 | 2027-12 | 2029-12 | 活跃支持中,WP 6.9/7.0+ 已支持 |
结论:2026 年新装/迁移 WordPress,首选 PHP 8.4;8.2/8.3 仍在安全期内可用,但应规划向 8.4/8.5 迁移;8.1 及以下已不建议上新项目。
三、WordPress 各版本对 PHP 的兼容性矩阵
下方为官方 Hosting Handbook 公布的“完全兼容(fully compatible)”范围。带 (1) 的版本已 EOL,仅作向后兼容保留。
| WordPress 版本 | 最低要求 PHP | 完全兼容的 PHP 范围 | 关键变化 |
|---|---|---|---|
| WP 6.4 及以前 | 5.6.20+ | 5.6 / 7.0–8.2 | 老版本,多数已 EOL |
| WP 6.8 | 5.6.20+ | 7.2 / 7.3 / 7.4 / 8.0 / 8.1 / 8.2 / 8.4 | 最后一个支持 7.2/7.3 的版本;8.3 自 2025-07 起完全兼容 |
| WP 6.9 | 7.4+ | 7.4 / 8.0 / 8.1 / 8.2 / 8.3 / 8.4 /8.5 | 放弃 7.2/7.3;2025-12 起支持 PHP 8.5 |
| WP 7.0 | 7.4+(由 7.2.24 上调) | 7.4 / 8.0 / 8.1 / 8.2 / 8.3 / 8.4 / 8.5 | 正式弃用 7.2/7.3,最低门槛锁定 7.4 |
| WP 7.1 | 7.4+ | 7.4 / 8.0 / 8.1 / 8.2 / 8.3 / 8.4 / 8.5 | 与 7.0 持平,门槛维持 7.4 |
官方运维建议(Hosting Handbook):
- 生产环境推荐PHP 8.4 或更高。
- PHP 8.3 及以上为推荐基线;8.2 将于 2026-12-31 停止安全更新,仍在用需尽快迁移。
- 仅当插件/主题强制要求停留在老版本时,才考虑 7.4/8.0/8.1(这些已是 EOL,靠发行版或主机商“HardenedPHP”回填安全补丁)。
注意:WordPress 自身不能在后台切换 PHP 版本。PHP 由服务器/主机环境提供,切换发生在主机面板或系统命令行。
四、最常见的几类兼容性“坑”
1. 插件/主题的Requires PHP与Tested up to冲突
每个插件在 WordPress.org 页面都有Requires PHP字段。典型矛盾:
- 老插件只声明
Requires PHP: 5.6或7.4,在新 PHP 8.x 下可能直接报 deprecated/ fatal; - 新插件声明
Requires PHP: 8.1,你若在 7.4 上就装不了或功能残缺。
做法:升级 PHP 前,逐个核对“已启用插件/主题”的Requires PHP,优先更新它们。
2. 已被 PHP 移除的历史扩展与函数
ext/mysql(老mysql_*函数)在 PHP 7.0 起彻底移除——但 WordPress 很早改用mysqli/PDO,核心不受影响,受影响的是你自己写的老代码/老插件。create_function()(PHP 7.2 弃用、8.0 移除)、each()(7.2 弃用、8.0 移除)等,老主题里常见。
3. PHP 8.0+ 把“警告”升级为“错误”
PHP 8 起大量 Notice/Warning 行为收紧(如访问未定义数组键undefined array key)。部分多年未维护的插件会在 8.x 下白屏或疯狂写错误日志。
4. PHP 8.2 的“动态属性已弃用”
PHP 8.2 起,类里直接$this->foo = 1而不声明属性会报Creation of dynamic property is deprecated。WordPress 核心已修复,但不少老插件/老主题会触发——升级到 8.2 时尤其要测。
5. 必需的 PHP 扩展缺失
WordPress 健康检查(工具 → 站点健康 → 状态)会报告缺失扩展。最低要求mysqli;强烈建议具备:curl、gd、mbstring、zip、intl、xml、json、openssl、imagick(可选但推荐)、opcache。少一个,功能就少一块(例如没 zip 无法后台升级/装插件)。
6. 升级策略:不要“一步登天”
从 7.4 直接跳 8.5 风险高。建议逐级灰度:先在临时/ staging 站点依次验证7.4 → 8.1 → 8.2 → 8.3 → 8.4,每级都跑一遍核心+插件+主题的前台/后台冒烟测试。Kinsta 等托管商也建议老站点“一次跨一个次版本”。
五、如何查看与升级 PHP
查看当前版本:
# 命令行php-v# 或在网站根目录放一个 phpinfo.php(测完即删)<?php phpinfo();WP 后台路径:工具 → 站点健康 → 信息 → 服务器里能看到 PHP 版本。
升级位置:PHP 由服务器提供,不在 WP 后台改。通常在主机面板(cPanel 的“Select PHP Version / MultiPHP Manager”)或系统命令行完成。
Debian / Ubuntu 安装指定版本示例:
# Ubuntu 22.04 默认 8.1,想装 8.2:sudoaptinstallsoftware-properties-commonsudoadd-apt-repository ppa:ondrej/phpsudoaptupdatesudoaptinstallphp8.2 php8.2-fpm php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zipsudosystemctl restart php8.2-fpmCentOS 7 / 8 用 Remi 源示例:
# CentOS 7 装 PHP 8.2sudoyuminstallhttps://rpms.remirepo.net/enterprise/remi-release-7.rpmsudoyuminstallyum-utilssudoyum-config-manager--enableremi-php82sudoyuminstallphp php-cli php-fpm php-mysqlnd php-gd php-mbstring php-xml php-zip# CentOS 8 需先切换模块流(AppStream 默认 7.2)sudodnf module reset phpsudodnf moduleenablephp:remi-8.2sudodnfinstallphp php-fpm php-mysqlnd六、常见发行版仓库对应的 PHP 版本范围
“官方仓库”指系统自带源(含 SCL/AppStream 等官方扩展源);“第三方源”指 Remi、Sury、ondrej 等。是否跑 WordPress,关键看能否拿到 ≥7.4 的 PHP。
1. CentOS 6(已 EOL,2020-12)
| 来源 | 可装 PHP |
|---|---|
| 官方 base | 5.3.3(已淘汰) |
| SCL(Software Collections) | 5.4 / 5.5 / 5.6 / 7.0 / 7.1 / 7.2 / 7.3 |
| Remi | 5.6 / 7.0 – 7.4 |
结论:官方最高只到 7.3(SCL),无法用仓库装到 8.x(只能源码编译,且系统已 EOL)。强烈不建议用于新 WordPress——PHP < 7.4 既不在 WP 支持范围,也无安全更新。
2. CentOS 7(已 EOL,2024-06-30)
| 来源 | 可装 PHP |
|---|---|
| 官方 base | 5.4.16(仅红帽安全回填,EOL) |
| SCL(rh-php 系列,装于 /opt/rh) | 5.4 / 7.0 / 7.1 / 7.2 / 7.3 |
| Remi | 5.6 / 7.0 / 7.1 / 7.2 / 7.3 /7.4/ 8.0 / 8.1 / 8.2 / 8.3 |
结论:生产常见组合是CentOS 7 + Remi 的 PHP 7.4(稳定、兼容老项目),新项目可上8.1/8.2/8.3(Remi)。但 CentOS 7 自身已 EOL,新部署应转向 Rocky/Alma/Anolis 或 Debian 12+。
3. CentOS 8 / CentOS Stream 8(CentOS Linux 8 已 EOL 2021-12;Stream 8 维护至 2024)
| 来源 | 可装 PHP |
|---|---|
| AppStream 模块流(默认) | 7.2(默认)/ 7.3 / 7.4 / 8.0 |
| Remi 模块 | remi-7.2 ~ remi-8.0,后续 remi-8.1 |
结论:dnf install php默认装的是php:7.2 模块流。要用新版本必须先dnf module reset php再dnf module enable php:remi-8.x,且扩展包(如 php-mysqlnd)必须和启用的模块流严格匹配,否则报依赖冲突。CentOS 8 已停更,建议迁移到 Rocky Linux 8/9 或 AlmaLinux。
顺带一提:CentOS 8 的“继任者” Rocky Linux 8/9、AlmaLinux 8/9 的 PHP 范围与 CentOS 8/Stream 9 一致:RHEL 8 系 AppStream 为 7.2–8.0(Remi 到 8.3+),RHEL 9 系 AppStream 默认8.0/8.1,Remi 可到 8.4。
4. Debian
| Debian 版本 | 官方仓库默认 PHP | 备注 |
|---|---|---|
| 10 Buster | 7.3 | 2024-06 EOL,不建议 |
| 11 Bullseye | 7.4 | 7.4 的 LTS 维护到 2026-08-31 |
| 12 Bookworm | 8.2 | 当前稳定版主力 |
| 13 Trixie | 8.4 | 最新稳定版(2025 年发布) |
第三方:Ondřej Surý 维护的deb.sury.org源可在单系统共存5.6 – 8.5多版本(非官方,但被专业运维广泛使用)。
结论:Debian 12(8.2)是稳妥的 WP 服务器基线;想直接用 8.4 选 Debian 13,或用 Surý 源在 12 上装 8.4。
5. Ubuntu LTS(含邻近版本)
| Ubuntu 版本 | 官方仓库默认 PHP | 备注 |
|---|---|---|
| 18.04 Bionic | 7.2 | 已 EOL |
| 20.04 Focal | 7.4 | 老项目常见,建议升级 |
| 22.04 Jammy | 8.1 | 当前最常用 LTS |
| 24.04 Noble | 8.3 | 新部署推荐 |
| 25.04 Plucky | 8.4 | 非 LTS |
第三方:ppa:ondrej/php提供5.6 – 8.x任意版本(含 8.4/8.5),多版本可用update-alternatives --config php切换。
结论:Ubuntu 24.04 出厂即 8.3,是新 WordPress 的省心选择;22.04 用 ondrej PPA 上 8.2/8.3 也很普遍。
七、国产化(信创)环境特别说明
信创环境多为国产 CPU(鲲鹏/飞腾/海光/龙芯)+ 国产 OS(openEuler / 银河麒麟 / 统信 UOS / 龙蜥 Anolis),仓库 PHP 范围普遍比社区版“慢半拍”,且跨架构(aarch64 / loongarch64)编译生态成熟度不一。
| 发行版 | 仓库默认 PHP | 可获取范围 | 说明 |
|---|---|---|---|
| openEuler20.03 LTS | 7.2 | 7.4(EPOL 源) | 较老 |
| openEuler 22.03 LTS | 7.4 | 8.0(模块) | 适合 ThinkPHP 等 |
| openEuler 24.03 LTS | 8.1 | 8.2(模块) | 当前主力,性能较优 |
| openEuler 25.09 | 8.4 | 源码/容器 | 新特性,官方 RPM 不全 |
| 银河麒麟 Kylin V10 | 7.4(常见) | 8.0 / 8.1(部分需编译到 8.3) | 源于 CentOS 系;ARM64(鲲鹏 920)支持良好 |
| 统信 UOS 20 / server | 7.3 / 7.4 | 官方容器镜像提供 8.1 / 8.2(如hub.uos.org/uos/php:8.2) | 源于 Debian 系 |
| 龙蜥 Anolis OS | 7.2(AppStream,同 CentOS 8) | 8.0(Remi 系/OpenAnolis 源可到 8.1+) | RHEL 8 衍生 |
| 龙芯 LoongArch(3A5000) | 7.4.33(实测) | 8.x 需自行编译/容器 | 新架构生态待完善 |
信创落地建议:
- 优先容器化:使用国产厂商/社区维护的多架构官方镜像(如
openeuler/php:8.1-apache、hub.uos.org/uos/php:8.2-apache-arm64),可规避“源码编译缺包”的坑,且跨 x86/ARM 行为一致。 - 版本基线:能用PHP 8.1/8.2就尽量上(openEuler 24.03、UOS server php81 镜像、麒麟 8.1),满足 WP 7.x 的 7.4 门槛并留余量。
- 国密需求:若需 SM2/SM3/SM4,可在 PHP 运行时编译
php-gmssl等扩展,或选用预置国密能力的镜像。 - 龙芯等极新架构:若仓库只有 7.4,建议用容器固定 PHP 8.x 镜像,避免把生产环境绑死在 EOL PHP 上。
八、选型速查与落地建议
一句话选型表:
| 你的环境 | 推荐 PHP | 是否适合新装 WP |
|---|---|---|
| Debian 13 / Ubuntu 24.04 | 8.3 / 8.4 | ✅ 最省心 |
| Debian 12 + Surý 源 | 8.4 | ✅ |
| CentOS 7 + Remi | 8.1 / 8.2 / 8.3 | ⚠️ 系统已 EOL,仅存量维护 |
| Rocky/Alma 9 + Remi | 8.2 / 8.3 / 8.4 | ✅ 推荐替代 CentOS |
| openEuler 24.03 | 8.1 / 8.2 | ✅ 信创首选 |
| 统信 UOS / 麒麟 | 8.1 / 8.2(容器/镜像) | ✅ 信创可用 |
| CentOS 6 / 老 Debian 10 / Ubuntu 18.04 | ≤ 7.4 | ❌ 建议迁移 |
落地三步走:
- 定版本:新项目直接 PHP 8.4;存量项目先确认插件/主题
Requires PHP,从 7.4 起逐级灰度到 8.2/8.3/8.4。 - 补扩展:确保
mysqli/curl/mbstring/gd/zip/intl/xml/opcache齐全,过一遍 WP 站点健康。 - 先测后切:在 staging 站点用目标 PHP 跑完整冒烟测试,再切生产;出问题随时回退到上一版本。
免责声明:本文版本范围基于 2026-09 各发行版官方仓库与 WordPress Hosting Handbook 整理。PHP/WordPress 发行版版本滚动较快,CentOS/RHEL 系尤其受 EOL 影响,实际安装前请执行
yum/dnf/apt的list/module list复核你所用具体小版本与架构(x86_64 / aarch64 / loongarch64)的可用包。