PHP 会话是由 session_start() 函数调用创建的。这会干扰 REST API 和环回请求。在发出任何 HTTP 请求之前,会话应该由 session_write_close() 关闭。
小智 9
由于使用 WP Hotel Booking 插件,出现了同样的问题。我修好了它!我花了一段时间才找到它导致的插件,编辑插件 .php 没有\xe2\x80\x99t帮助。但我修复了它,在 CHILD 主题的functions.php 中添加了一段代码:
\nfunction mymodule_curl_before_request($curlhandle){\nsession_write_close();\n}\nadd_action( \'requests-curl.before_request\',\'mymodule_curl_before_request\', 9999 );\nRun Code Online (Sandbox Code Playgroud)\n此解决方案的背景位于:Make WordPress Core,如果在curl中设置标头,则环回请求失败\n(德语的原始链接不再存在,并引用了其他相关讨论。)
\n在大多数情况下,上述错误的真正原因是在使用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)
然后你就完成了。在大多数情况下,这将解决问题。祝你好运!
| 归档时间: |
|
| 查看次数: |
8876 次 |
| 最近记录: |