【发布时间】:2015-07-09 15:53:32
【问题描述】:
我尝试从 WooCommerce REST API client library 开始,但不断收到此错误:
无效的 URL,在 http://[my-store].com/wc-api/v2/ 找不到 WC API -- 确保您的商店 URL 正确且已启用漂亮的永久链接。
根据this thread,启用了漂亮的永久链接并将其设置为帖子名称。通过浏览器手动访问 URL 会给出一些 WooCommerce 设置的 JSON 输出,这就是我认为商店 URL 正确的原因。 (这与域相同,我正在处理。)我还尝试插入新的消费者和密钥,但这没有帮助。
对代码的一些研究把我带到了 class-wc-api-client.php。
$index = @file_get_contents( $this->api_url );
// check for HTTP 404 response (file_get_contents() returns false when encountering 404)
// this usually means:
// 1) the store URL is not correct (missing sub-directory path, etc)
// 2) pretty permalinks are disabled
if ( false === $index ) {
throw new WC_API_Client_Exception( sprintf( 'Invalid URL, no WC API found at %s -- ensure your store URL is correct and pretty permalinks are enabled.', $this->api_url ), 404 );
$index 确实等于 false,这意味着 file_get_contents 得到了 404 响应。在商店的目录中创建 /wc-api/v2/ 目录没有帮助。
我不知道为什么 file_get_contents 在浏览页面时会收到 404 响应会显示非空 JSON 字符串。我觉得我缺少一些基本的东西。
感谢任何帮助!
编辑:找到了解决方案!我今天又遇到了这个问题,对在 JSON 上返回 FALSE 的 file_get_contents() 做了一些研究。 This thread 让我走上正轨。在 PHP.ini 中设置 allow_url_fopen = On 解决了这个问题。了解其他人是否遇到此问题可能很有用。
【问题讨论】:
-
这听起来很奇怪,但突然就可以了。我不知道为什么——我恢复了我为解决这个问题所做的每一个改变。所以系统状态和我发原帖的时候一模一样。我和我的主人谈过,他们也说他们没有做任何改变。我想这个问题已经解决了。当我终于找到一些有用的东西时,我会进行编辑。
标签: php wordpress api rest woocommerce