WordPress/WooCommerce API在我的网站上被破坏:http://example.com/wp-json/wp/v2/posts 和http://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请求同时发生。
最合适的回答,由SO网友:Elliott Beach 整理而成
卸载并重新安装所有插件就找到了答案,我建议将其作为解决此类问题的第一步。
这个问题显然是由于WC供应商和另一个声明相同类的插件之间的冲突造成的WC_Email_Notify_Shipped
. 所以我禁用了WC供应商,这是我们当时没有使用的。