本地WordPress站点健康检测报REST API cURL超时错误求解决
解决WordPress本地站点REST API特定端点超时问题
检查用户权限匹配度
这个出错的端点带了context=edit参数,需要确认当前登录用户拥有文章编辑权限。可以切换管理员账号重新运行站点健康检测,或者直接在浏览器访问该端点,观察返回结果是权限错误还是真超时——部分场景下权限校验卡住会被误判为超时。延长cURL超时阈值
编辑站点根目录的wp-config.php文件,添加以下代码提升超时限制:// 延长HTTP请求超时时间至30秒 add_filter('http_request_timeout', function() { return 30; }); // 调整cURL连接与请求超时 add_filter('http_api_curl', function($handle) { curl_setopt($handle, CURLOPT_CONNECTTIMEOUT, 15); curl_setopt($handle, CURLOPT_TIMEOUT, 30); return $handle; });修正本地服务器hosts配置
本地服务器可能无法正常解析自身IP导致回环请求超时:- Windows系统打开
C:\Windows\System32\drivers\etc\hosts - Mac/Linux系统打开
/etc/hosts
添加一行绑定规则:
192.168.1.100 192.168.1.100保存后重启本地服务器再测试。
- Windows系统打开
排查主题对REST API的干扰
切换到WordPress默认主题(如Twenty Twenty-Four)后重新检测站点健康。如果问题消失,说明当前主题在处理types/post的edit上下文时添加了耗时逻辑或异常权限校验,需要检查主题的functions.php或相关REST钩子代码。直接调试端点请求
用curl命令直接发起请求,排查具体问题:curl -X GET http://192.168.1.100:5000/blog/wp-json/wp/v2/types/post?context=edit -u 你的用户名:你的密码如果命令行请求也超时,检查PHP配置的
max_execution_time(建议设为30以上),或本地防火墙是否限制了服务器回环请求。重置REST API路由缓存
在主题functions.php中临时添加以下代码,保存后刷新站点再删除代码:flush_rewrite_rules();或进入后台「设置-固定链接」,临时修改链接结构再改回原设置,触发路由规则刷新。
内容的提问来源于stack exchange,提问作者Raldsanity
相关产品推荐
相关产品推荐

