判断WordPress更换服务器后的问题属于哪一层,最有效的方法是沿着请求链路从外到内逐层验证:先看DNS解析是否指向新服务器,再看Web服务器能否返回页面,接着看PHP是否正常执行,然后看数据库能否连接,最后看文件权限与上传目录是否可写。哪一层先出现异常,问题就属于那一层,优先处理它,而不是同时改配置、清缓存、重装插件。
这套分层判断适用于以下情况:域名解析已修改或准备修改,站点文件与数据库已复制到新服务器,访问时出现打不开、白屏、502、数据库连接错误、后台无法登录、图片缺失等现象。如果只是更换主机商但域名未变,DNS层仍然要查;如果只换了服务器IP而域名没动,可以跳过DNS,直接从Web层开始。
开始前先记录三个信息:旧服务器是否还能访问、新服务器IP是多少、当前域名解析到哪个IP。这三个信息决定了后面每一步的对照依据。
DNS层的问题表现为:域名仍解析到旧IP、解析未生效、解析到了错误的IP,或者本地DNS缓存没有更新。判断方法是分别在新服务器和本地执行解析查询,对比返回的IP是否一致。
验收信号:解析结果稳定指向新服务器IP,且不同网络环境下查询结果一致。如果解析仍指向旧IP,问题属于DNS层,先改解析并等待生效,不要急着改WordPress配置。
Web层的问题表现为:连接被拒绝、502、504、404、403,或者返回了默认欢迎页而不是WordPress首页。判断方法是直接请求新服务器IP,观察返回内容和状态码。
如果直接请求IP返回默认页,说明Web服务器在运行,但站点配置没有绑定到该域名或目录;如果返回502,说明Web服务器把请求转给了PHP处理进程,但PHP没有正常响应;如果连接被拒绝,说明Web服务没有监听或防火墙拦截了端口。
短例子(假设):访问域名返回502,但直接请求新服务器IP返回Web服务器默认页。此时可以判断请求已经到达Web层,问题更可能出在PHP处理进程或上游配置,而不是DNS。
PHP层的问题表现为:白屏、500错误、部分页面正常但后台异常、插件或主题报错。判断方法是查看PHP错误日志,并临时启用WordPress调试模式观察报错信息。
常见原因包括:PHP版本与旧站点不兼容、缺少必要扩展、wp-config.php配置错误、主题或插件代码在新环境下触发致命错误。这里要区分“可能原因”和“已经定位的原因”:看到500错误只能说明PHP执行失败,具体是哪个文件、哪一行报错,必须以错误日志为准。
验收信号:PHP错误日志中不再出现致命错误,首页和后台都能返回正常页面,而不是空白或500。
数据库层的问题表现为:提示建立数据库连接错误、页面能打开但内容为空、后台登录失败、文章或设置丢失。判断方法是检查wp-config.php中的数据库名、用户名、密码、主机地址是否与新服务器一致,并确认数据库服务正在运行。
如果数据库连接正常但内容缺失,问题可能出在导入不完整或导入了旧备份,这仍然属于数据库层,需要重新核对备份文件与导入结果。
文件权限层的问题表现为:无法上传媒体、无法更新插件、无法保存设置、部分图片不显示。判断方法是检查WordPress目录和上传目录的属主与权限,确认Web服务进程有读取权限,上传目录有写入权限。
验收信号:可以正常上传一张图片并在媒体库中看到,可以保存一篇文章并前台访问到。如果上传失败但页面浏览正常,问题属于文件权限层,而不是DNS或数据库层。
时间和人手有限时,按DNS、Web、PHP、数据库、文件权限的顺序逐层验证,每层只记录一个结论:正常、异常、待确认。异常层就是当前要处理的工作。每修完一层再回到最外层重新访问一次,确认现象是否变化,避免把多层问题混在一起判断。
下一步:打开浏览器开发者工具的网络面板,记录首次请求的域名、状态码和响应内容,再对照新服务器的访问日志。两条记录对不上时,先解决对不上的那一层,再继续往内排查。