
WordPress站点健康状态-session_start()函数调用生成会话REST API 遇到了错误cURL error 28: Operation timed out after 10001
最近在做个人WordPress站点的优化,用官方的站点检查工具进行检查,出现下面两个错误,问题提示如下:

站点健康状态
WordPress站点健康检查向您显示关于您的WordPress配置的关键问题,及需要您的注意的项目。
2个关键问题
已检测到活动的PHP会话性能
session_start()函数调用生成了一个PHP会话。该会话干扰了REST API及环回请求。在做出任何HTTP请求前,该会话必须由session_write_close()函数关闭。
REST API遇到了错误性能
REST API是WordPress及其他应用与服务器通信的一种途径。例如区块编辑器页面,它依赖REST来显示及保存您的页面和文章。
REST API请求因遇到了错误而失败。
错误:cURL error 28: Operation timed out after 10001 milliseconds with 0 bytes received(http_request_failed)
查了很多资料后再stackoverflow.com上找到了答案,
在大多数情况下,上述错误的真正原因是当他们使用session_start() 函数时,在插件或主题中使用 PHP 会话的机制不正确。
现在,您可以通过逐一停用插件来识别是什么插件导致了这个问题。或者在整个项目中用全局查找搜索session_start()字段,找到是那个地方使用到了
然后,在该插件或主题中,您需要找到类似于这样的代码:
session_start();
if ( !session_id() ) {
session_start();
}
然后将其更改为:
session_start( [
'read_and_close' => true,
] );
if ( !session_id() ) {
session_start( [
'read_and_close' => true,
] );
}
检测出的两个问题中的第二个问题主要是由上面第一个问题引起的,也就是session_start()函数生成会话后没有关闭导致的下面第二个问题,在代码中找到session_start()函数,这里我是在本地电脑上用全局查找搜索session_start()字段,发现了有几个插件,和主题使用了session_start()函数,并且没有关闭,所以需要查找到整个项目中哪里用到了session_start()函数的代码,然后改过来就好了。
它们是这样写的
session_start();
if(!session_id()) session_start();
上面这两种写法都不行,下面这种写法就解决了;
if(!session_id()) session_start([ 'read_and_close' => true]);
具体替换文件夹位置名称以及行数:
- 海报
- 打赏
- 分享
分享到...

请选择打赏方式



- 微信
- 支付宝
公告:
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反相关法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,不保证完全没有bug,也都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员!
8. 请仔细斟酌后赞助本站,赞助成功后,不退款,站点不提供任形式的技术支持! 9.本站部分解压密码默认为www.3cym.com或www@3cym@com
3c源码资源网 » WordPress站点健康状态-session_start()函数调用生成会话REST API 遇到了错误cURL error 28: Operation timed out after 10001
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反相关法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,不保证完全没有bug,也都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员!
8. 请仔细斟酌后赞助本站,赞助成功后,不退款,站点不提供任形式的技术支持! 9.本站部分解压密码默认为www.3cym.com或www@3cym@com
3c源码资源网 » WordPress站点健康状态-session_start()函数调用生成会话REST API 遇到了错误cURL error 28: Operation timed out after 10001