整站还原后直接 500,错误日志里是 Access denied for user,数据库账号密码还是旧服务器那一套。碰到这种情况,我一般先确认改动有没有真的生效。
原因不复杂,备份包包含了 wp-config.php,还原时把目标环境的配置一起覆盖,数据库名、用户名、主机全变成旧的。
碰到「wp-config 被覆盖」这类问题,我习惯先把当前配置原样备份一份,改坏了立刻换回来,不用现场推。别只看报错的最后一行,往上看几行,真正的起因通常在上面。
cp wp-config.php /tmp/wp-config.local.php # 还原后再复制回来 chmod 640 wp-config.php
同类问题如果隔一段时间又出现,多半是某个定时任务或重启流程把改动冲掉了。把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。
改完隔一天再看一次,当场正常不代表能稳住。测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。
具体做法是,还原前先把目标环境的 wp-config.php 备份出来;还原后把配置文件换回去 只保留数据库内容;确认文件权限 640 属主是 web 用户。
最后用这个标准收尾,站点首页返回 200,错误日志里不再出现 Access denied。
