热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

wordpress报session_start()函数调用生成了一个PHP会话。该会话干扰了RESTAPI及环回请求问题.

wordpress报session_start()函数调用生成了一个PHP会话。该会话干扰了RESTAPI及环回请求问题.|最近在做个人WordPress站点的优化,用官方的站点检查工具进行检查,出现下面两个错误,问题提示如下:站点

最近在做个人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();
  1. if ( !session_id() ) {
  2. session_start();
  3. }

 

然后将其更改为:

  1. if ( !session_id() ) {
  2. session_start( [
  3. 'read_and_close' => true,
  4. ] );
  5. }

 

国内网站上也有人分享解决方法,但终究是不明所以,例如:

检测出的两个问题中的第二个问题主要是由上面第一个问题引起的,也就是session_start()函数生成会话后没有关闭导致的下面第二个问题,在代码中找到session_start()函数,这里我是在本地电脑上用全局查找搜索session_start()字段,最终发现了有几个插件,和主题使用了session_start()函数,并且没有关闭,所以需要查找到整个项目中哪里用到了session_start()函数的代码,然后改过来就好了。

它们是这样写的

  1. session_start();
  2. if(!session_id()) session_start();

 

上面这两种写法都不行,下面这种写法就解决了;

if(!session_id()) session_start([ 'read_and_close' => true]);

参考文献:

1、Getting "An active PHP session was detected" critical warning in wordpress - Stack Overflow​​​​​​​


推荐阅读
  • 本文介绍了在使用Python中的aiohttp模块模拟服务器时出现的连接失败问题,并提供了相应的解决方法。文章中详细说明了出错的代码以及相关的软件版本和环境信息,同时也提到了相关的警告信息和函数的替代方案。通过阅读本文,读者可以了解到如何解决Python连接服务器失败的问题,并对aiohttp模块有更深入的了解。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 纠正网上的错误:自定义一个类叫java.lang.System/String的方法
    本文纠正了网上关于自定义一个类叫java.lang.System/String的错误答案,并详细解释了为什么这种方法是错误的。作者指出,虽然双亲委托机制确实可以阻止自定义的System类被加载,但通过自定义一个特殊的类加载器,可以绕过双亲委托机制,达到自定义System类的目的。作者呼吁读者对网上的内容持怀疑态度,并带着问题来阅读文章。 ... [详细]
  • 本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ... [详细]
  • 本文分析了Wince程序内存和存储内存的分布及作用。Wince内存包括系统内存、对象存储和程序内存,其中系统内存占用了一部分SDRAM,而剩下的30M为程序内存和存储内存。对象存储是嵌入式wince操作系统中的一个新概念,常用于消费电子设备中。此外,文章还介绍了主电源和后备电池在操作系统中的作用。 ... [详细]
  • 本文讨论了在使用PHP cURL发送POST请求时,请求体在node.js中没有定义的问题。作者尝试了多种解决方案,但仍然无法解决该问题。同时提供了当前PHP代码示例。 ... [详细]
author-avatar
eea1051113
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有