安装和卸载WP-REST-API插件后API返回空白响应

时间:2017-06-16 作者:Elliott Beach

WordPress/WooCommerce API在我的网站上被破坏:http://example.com/wp-json/wp/v2/postshttp://example.com/wp-json/wc/v2/products 两者都返回空白响应。

运行Python请求

response = requests.get(\'http://<mysite>.com/wp-json/wp/v2/posts\', auth=HTTPBasicAuth(*auth))
给出的响应(在调试器中检查)

{
   ...
   _content: b\'\'
   headers: ... \'content-type\': \'text/html\' ...
}
根据https://github.com/WP-API/WP-API/issues/2911, 空白响应表示存在致命的php错误。

上周,我使用WordPress API向我的网站添加WC产品,没有任何问题。我相信当我安装WordPress-rest-api plugin,然后在意识到没有必要后将其卸载。

我建立了一个开发站点作为一个健全的检查,一切正常。

具体来说,我希望WooCommerce API能够工作,但我认为这意味着rest API也应该工作。

我们有备份,但自上次备份以来发生了一些更改。我是否必须从备份中重新创建站点才能再次工作?

编辑:中唯一的错误error_log

[PHP Deprecated:  Automatically populating $HTTP_RAW_POST_DATA is 
deprecated and will be removed in a future version.
To avoid this warning set \'always_populate_raw_post_data\' to \'-1\' 
in php.ini and use the php://input stream instead.
in Unknown on line 0
这不会与我的API请求同时发生。

1 个回复
最合适的回答,由SO网友:Elliott Beach 整理而成

卸载并重新安装所有插件就找到了答案,我建议将其作为解决此类问题的第一步。

这个问题显然是由于WC供应商和另一个声明相同类的插件之间的冲突造成的WC_Email_Notify_Shipped. 所以我禁用了WC供应商,这是我们当时没有使用的。

结束

相关推荐

Php致命错误:无法将WP_REST_RESPONSE类型的对象用作wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php中

我向WordPress添加了一个自定义端点,如下所示: add_action( \'rest_api_init\', function () { register_rest_route( \'menc/v1\', \'/crosscat/(?P[\\w-]+)/(?P[\\w-]+)\', array( \'methods\' => \'GET\', \'callback\' => \'dept_cat_api\',&#x