前言

有时候在使用WordPress时会遇到 "此站点遇到了致命错误" 导致部分功能和页面完全无法使用

常见于文章内容含有代码、路径的情况下

今天我也遇到了一次这个问题,来说一下如何排查

定位问题

首先先确认和插件有没有关系,如果插件没有问题(关闭插件还是一样)那就继续

今天我是搜索 Onedrive 时遇到的,然后我再搜索 One 也一样 ,再搜索 On发现第一页没事,第二页就炸

第一页on的发布日期是 2021-10,那么旧一篇的问题文章肯定在这之前,且关键词含有 On

去后台文章管理,从月度视角开始翻,果然 2021-09那一页 一打开就炸,其他没事

去时光轴找到这个时间段的文章,最终定位到 宝塔微软OneDrive插件自定义API

你也可以用数据库搜索的方式来找到目标

备份和准备

首先要在当前状态备份一下,把缓存类插件关闭,方便做测试

然后安装 PHPMyadmin 程序 或者 SQL Buddy 插件

如果本机安装失败这些东西,也可以换一台机器,然后导入你的备份

测试

把有问题的文章直接删除,看看那一页(比如搜索、月度视图文章)会不会炸,不炸说明就是这篇文章中有问题

然后开始逐步排查,尤其是 路径、链接、代码等非常规文字 删除一行看看会不会炸,通过逐一排查定位到有问题的地方

最终我定位到是这一段路径导致异常

修复

如果全部删除都不行,那就只能把文章扬了、然后一点点新增到没问题为止

如果定位到异常段落,可用先移除、换图片等方式解决

用PHPMyadmin进行MySQL数据库处理

可用宝塔面板安装,登陆完成后是这样,找到你的数据库,文章内容在 posts 表

根据ID找到问题文章的位置

直接编辑修改即可,格式默认是HTML

用SQL Buddy进行MySQL数据库处理

可用WordPress插件安装,然后在工具里面找到它

操作基本一致,更简洁