WordPress多站点必须统一使用一个PHP版本,无法为不同插件分配不同版本;应选用满足所有插件最低要求的最高兼容版本(如PHP 8.0+),并通过全链路测试确保兼容性。

如果你用的是 WordPress 6.0+ 或主流博客主题/插件,PHP 8.1 更合适;但如果你在跑老主题、自定义插件或 DEDECMS 类系统,PHP 7.4 是唯一能稳定启动的版本。
WordPress 博客必须看 PHP 版本兼容表
WordPress 官方从 6.2 开始明确推荐 PHP 8.1+,但实际运行门槛更低:
- WordPress 5.6–6.1:最低支持 PHP 7.4,
mysql_connect()、create_function()等函数仍可用,老插件(如某些 SEO 工具、缓存扩展)不报错 - WordPress 6.2+:已移除对
get_magic_quotes_gpc()的兼容层,PHP 8.1+ 才能保证登录、评论提交、媒体上传全链路正常 - 插件兼容现状:约 85% 的活跃插件(Yoast、WP Super Cache、Rank Math)已通过 PHP 8.1 测试;但仍有小众插件(如部分国产备份工具、旧版微信推送插件)在 PHP 8.1 下触发
Fatal error: Uncaught Error: Call to undefined function mysql_connect()
PHP 7.4 和 8.1 在博客场景的真实性能差异
不是“越新越快”,而是“匹配才稳”:
- 纯静态页面(如文章页缓存命中):PHP 8.1 比 7.4 快约 12%,但前提是 OPcache 启用且
opcache.jit不要乱开(PHP 8.1 的 JIT 默认关闭,开了反而可能降速) - 动态请求(如搜索、分类归档、用户登录):PHP 8.1 的
match表达式和严格类型让核心代码更少出错,__toString()强制返回string避免模板中意外输出NULL导致白屏 - 内存表现:PHP 8.1 平均内存占用比 7.4 低 1.2MB/请求,对共享主机或 1GB 内存 VPS 更友好
最容易被忽略的 CLI 和 Web 版本不一致问题
宝塔面板里把网站设成 PHP 8.1,不代表你在终端执行 wp cli 或 composer update 就是这个版本:
立即学习“PHP免费学习笔记(深入)”;
- Web 请求走
php-fpm进程,受站点配置控制 - 命令行走
/usr/bin/php软链接,常指向系统默认 PHP(可能是 7.4) - 验证方法:
php -v查 CLI 版本,phpinfo()页面查 Web 版本;不一致时,wp db export可能导出失败,composer require可能装错依赖
真正卡住博客升级的,往往不是 PHP 本身,而是某个没更新的插件或主题里藏着 each()、assert($expr, $msg) 这类 PHP 8.0+ 已改行为的函数。别只看版本数字,先用 PHPCompatibility 扫一遍代码,再决定动不动手。



















