这两天阿蓝接入了支付插件,准备把搞钱知识库迁移到网站作为交付后端,并且掏钱搞了几个付费信息源,准备更新给群友。
所以准备把网站后台重新配置下,并且优化下网站速度,让大家有个好的体验。
解决发现站点健康出现两个严重风险提示,搞了我一上午才弄好
遇到什么问题了
问题1:检测到活动的PHP会话
session_start()函数调用生成了一个会话.该会话干扰了RESTAPI及环回请求。在做出任何HTTP请求前,该会话必须由session_write_close()函数关闭.
问题2:RESTAPI遇到了错误
RESTAPI是WordPress及其他应用与服务器通信的一种途径。例如区块编辑器页面,它依赖REST来显示及保存您的页面和文章.
RESTAPI调用返回了预料之外的结果:
端点:xxxx(这里是一个后台地址,点开一大段数据我也看不懂,但是这个地址特征就是我网站后台)
响应:cURL error 28: Operation timed out after 10001 mliseconds with 0 bytes recelved (http_request_falled)(其实就是报错了)
就和下图差不多
问题怎么解决的
首先肯定是去百度搜索,看看有没有人解决了这个问题
我汇总了下百度找到的解决方案
- REST API 未启用:请确保已经启用了 WordPress 的 REST API。可以通过前往“设置”>“写文章”并确保“启用WordPress的REST API”选项已勾选来启用它。
- 主题不支持 REST API:如果您正在使用的主题不支持 WordPress 的 REST API,则会出现 404 错误。请查看主题文档或联系主题作者以了解其是否支持 REST API。
- 主题中的自定义代码导致:如果主题中包含自定义代码,则可能存在与 REST API 相关的代码导致。请尝试禁用自定义代码并检查是否可以正常工作。
- 插件导致:如果你安装了其他插件,也可能会导致与 API 。尝试禁用所有插件,并慢慢地逐一启用它们,找到导致问题的插件。
然后就是一个个排查了,这个没啥办法
先排查插件,因为我接入了支付插件嘛,这个知更鸟主题都是四年前的了,肯定会出现不匹配和各种bug,结果都关闭测试了一遍,没问题
然后看wp后台设置,额,我点开后台根本就没这个选项,什么启动rest api
接着我觉得会不会就是这个什么api出的问题,我给他禁止不就完了,接着我找到一个插件专门禁止这个api的。
启动!好吧,没啥用,后台这个站点健康提示还在,又把这个插件删除了
接着我有找到一个博主说这个是程序打开一个会话,但是没有关闭机制,所以出现这种提示,因为你开着不关闭,那就会一直请求,浪费资源,必然导致网站变慢
我觉得很有道理,就按照他讲的去做了
添加下面代码到您的主题文件的 functions.php 文件中(双击就能点开)
add_action( 'init', function() { if ( session_id() ) { session_write_close(); } } );
目的是在创建会话后立即关闭它,这样就解决了问题
最后打开后台,刷新一下,站点健康提示没有了,问题成功解决
虽然我也不懂礼貌写了啥,貌似就是停止什么的,但是问题总归解决了,好事
后台我也综合了几个方案,得出的结论这类问题就是主题和插件的问题,如果再出现这种问题,我就换一个主题,这个知更鸟太老了,又没有在线更新模块(我看了下新版本有,但是当时我买是qq支付的,我都没消费记录了)
再出现问题我就换其他主题了,现在换怕掉权重
- 微信号
- 微信扫一扫
- 搞钱阿蓝
- 微信扫一扫
评论