用备份插件导出整站 420MB,换服务器恢复时进度停在 92%,页面一直转圈,日志里是 POST 请求超过 max_execution_time 的 30 秒限制。乍看像缓存或者权限的锅,追下去往往不是。

wp elementor flush-css
wp post delete $(wp post list --post_type=revision --format=ids) --force
wp db export site.sql

追下去是这么回事:备份文件把构建器的 CSS 缓存和十几版模板修订一起打包,体积比实际内容大三倍。恢复时要在 30 秒内解压并写库,超时就被 PHP 中断。

「构建器备份过大」相关的验证我通常做两遍,改完一次、隔天再看一次,确认不是临时生效。一次只改一处,改完立刻验证,几个改动叠在一起,出问题就说不清是谁导致的。

先做最小复现,能稳定跑出来的问题,排查成本会低一个数量级。别只看报错的最后一行,往上看几行,真正的起因通常在上面。

具体做法是,导出前清掉构建器缓存和文章修订,能省一半体积;把备份拆成文件和数据两部分,先传文件再导库;调大 max_execution_time 和 upload_max_filesize,改完重启 PHP。

验收就看一点,备份体积降到 150MB 以内,恢复进度走完 100%,前台页面正常打开。

作者 9823189