问题1:
session_start()
函数调用生成了一个会话.该会话干扰了RESTAPI及环回请求。在做出任何HTTP请求前,该会话必须由session_write_close()
函数关闭.
问题2:
RESTAPI是WordPress及其他应用与服务器通信的一种途径。例如区块编辑器页面,它依赖REST来显示及保存您的页面和文章.
RESTAPI调用返回了预料之外的结果:(404)<html><head><title>404未找到</title></head><body><h1><h1>404未找到</h1><h1><hr><调用返回了预料之外的结果>nginx</Center></body></html>。
我觉得是BuddyPress这个插件产生的问题,因为安上它以后除了主页外的所有页面都404,检查以后把固定链接格式改到默认,第二个导致404的推荐改进的问题解决了,但buddypress插件提示需要更新固定链接格式才能正式启用;也就是说,要么buddypress不能用,要么所有页面404。
第一个关键问题还没有头绪。
我是一个程序小白,刚开始自学编程,希望能够通过wp后台简单的配置解决这个问题
建议先排查下下面几个:
要解决这个问题,可以尝试添加下面代码到您的主题的 functions.php 文件中,在创建会话后立即关闭它:
add_action( 'init', function() {
if ( session_id() ) {
session_write_close();
}
} );
添加完将在WordPress的初始化期间自动运行。通过检查当前是否存在会话来关闭会话,并在完成相关任务后尽快关闭,以确保没有Open session会干扰REST API 和环回请求。