之前因为Rest API的问题,导致发布文章的时候出现了“发布失败”提示。
在修复了Rest API后就没有在出现这个问题(原文:WordPress 发布文章,出现发布失败与更新失败的解决办法)。但是最近不知道为什么出现了“此响应不是合法的JSON响应”这样的提示。
然后我通过搜索找到了一些方法进行排查。但是都没有用。
我先总结一下我使用的这些方法,可能你通过这些方法可以解决这些问题。
情况1 Rest API的问题
通过浏览器的审查模式(F12),来查看是否为Rest API的问题。
一般给予的方法是禁用 Rest API ,但是因为网站需要,我需要用到这个。所以这个方法我首先就否定了。
如果你不需要使用 Rest API ,可以通过 disable-wp-rest-api 这款插件来删除它。
检查:通过【工具】-【站点健康】,可以插件是否是REST API出错
情况2 伪静态的问题
网上的说这样是因为修改了固定连接后没有设置伪静态,会出现此“此响应不是合法的JSON响应”的提示,通过宝塔面板的内置伪静态规则即可解决。
但,我在建站之初就设置了这个伪静态。
所以此次并不是这个问题。
情况3 系统镜像问题
有网友说是因为服务器系统镜像中的某个组件出错所导致的。这个方法我没有遇到,暂且无法证实。
情况4 SSL 转换问题
网友说,因为SSL的问题,导致出现这个提示。这也让他只能试用非HTTPS网址访问发布。
我这里不是这个问题,但是我大概知道是什么原因。原因是设置里域名项写的HTTP,修改后这个问题即可解决。并且你需要通过宝塔面板强制SSL。
但是,以上情况,都没有解决我的问题
我的问题主要是:发布之时提示:此响应不是合法的JSON响应 ,但是实际上文章已经发布出去。
通过审查模式查看,在发布页面点击发布后,的确有爆红(哪个页面出现问题,我们都可以利用这个来查看问题原因。)
报错出现了一个 500 错误,500错误就是因为服务器的原因
在我配置PHP配置文件,检查服务器配置文件后。依然会出现这个报错。
无奈我直接重启 PHP 重启 nginx ,然后直接重启服务器。
做完这些,再次发布文章,居然就好了,可以发布并没有报错了。
这次过后,发布文章时候有时候依然会出现500错误。
我怀疑是否是因为上次网站被黑,服务器安装了云锁,锁定了一些文件和权限的设置问题。
这个我继续留坑。因为目前出现报错但是文章确实可以发布出去。所以先搁置不管。
2021年11月1日补充.
经过在网上找方法排查。
我网站出现这种情况的原因,是因为自动生成sitemap(方法:wordpress无插件实现sitemap生成器),原本默认是发布文章后,生成1000条数据,但是我上次改成了5000条,一次性生成5000条对服务器压力确实太大。改成1000条后,正常发布。是我大意了。
我是如何排查出是这个文件出现问题的?详细阅读:《网页错误排查:the server responded with a status of 500 (Internal Server Error)》
总结
有时候出现这种错误,可能并非是程序的问题,服务器有时候也会抽风。所在遇到这些问题,可以通过一些方法来进行排查。只要找到问题所在,缩小了范围,处理起来也就简单了。