【问题标题】:Getting "An active PHP session was detected" critical warning in wordpress在 wordpress 中获取“检测到活动的 PHP 会话”严重警告
【发布时间】:2020-10-15 17:42:12
【问题描述】:

一个 PHP 会话是由 session_start() 函数调用创建的。这会干扰 REST API 和环回请求。在发出任何 HTTP 请求之前,应通过 session_write_close() 关闭会话。

【问题讨论】:

  • 我收到“一个 PHP 会话是由 session_start() 函数调用创建的。这会干扰 REST API 和环回请求。会话应该在发出任何 HTTP 请求之前由 session_write_close() 关闭。 "

标签: wordpress


【解决方案1】:

在大多数情况下,上述错误的真正原因是在使用 session_start() 函数时,在插件或主题中使用 PHP 会话的机制不正确。

现在您需要通过一一停用您的插件来确定是什么插件导致此问题。

然后在那个插件中,你需要找到一段类似这样的代码:

if ( !session_id() ) {
    session_start();
}

然后改成:

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

然后你就完成了。在大多数情况下,这将解决问题。祝你好运!

【讨论】:

    【解决方案2】:

    由于使用了 WP Hotel Booking 插件,遇到了同样的问题。我修好了它!我花了一段时间才找到它引起的插件,编辑插件 .php 没有帮助。但我修复了它,在 CHILD 主题的 functions.php 中添加了一个 sn-p 代码:

    function mymodule_curl_before_request($curlhandle){
    session_write_close();
    }
    add_action( ‘requests-curl.before_request’,’mymodule_curl_before_request’, 9999 );
    

    在这里找到了解决方案: https://de.wordpress.org/support/topic/curl-error-28-und-andere-fehlermeldungen/

    【讨论】:

    • 奇怪的是,它没有修复“检测到活动的 PHP 会话”警告,但它确实修复了“REST API 遇到错误”警告..​​.
    • @BenKalsky:这可能是因为在站点健康检查检查会话时会话处于活动状态,但在 REST API 检查开始时它被 sn-p 关闭。
    【解决方案3】:

    这个关键问题通常是由使用 PHP session_start() 函数时 SESSION 中的冲突引起的。 例如,我在 Wordpress 中使用了 Calculation 插件,在 Wordpress 版本更新后出现此错误。 因此,我将导致此问题的插件一一检测为激活/停用的插件。

    解决这些错误:在我网站的文件管理器中,我得到了插件的 .php 文件并搜索了 session_start() 函数。之后用在哪里我连续用了这个函数session_write_close();

    Source of the function

    问候!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-23
      • 2014-10-29
      • 1970-01-01
      • 2018-05-21
      相关资源
      最近更新 更多