在 wordpress 中获取“检测到活动的 PHP 会话”严重警告

Moh*_*rma 2 wordpress

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

小智 9

由于使用 WP Hotel Booking 插件,出现了同样的问题。我修好了它!我花了一段时间才找到它导致的插件,编辑插件 .php 没有\xe2\x80\x99t帮助。但我修复了它,在 CHILD 主题的functions.php 中添加了一段代码:

\n
function mymodule_curl_before_request($curlhandle){\nsession_write_close();\n}\nadd_action( \'requests-curl.before_request\',\'mymodule_curl_before_request\', 9999 );\n
Run Code Online (Sandbox Code Playgroud)\n

此解决方案的背景位于:Make WordPress Core,如果在curl中设置标头,则环回请求失败\n(德语的原始链接不再存在,并引用了其他相关讨论。)

\n


thố*_*yễn 7

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

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

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

if ( !session_id() ) {
    session_start();
}
Run Code Online (Sandbox Code Playgroud)

然后将其更改为:

if ( !session_id() ) {
    session_start( [
        'read_and_close' => true,
    ] );
}
Run Code Online (Sandbox Code Playgroud)

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