Php WooCommerce REST API错误:URL无效,未找到WC API

Php WooCommerce REST API错误:URL无效,未找到WC API,php,wordpress,api,rest,woocommerce,Php,Wordpress,Api,Rest,Woocommerce,我尝试从开始,但不断出现以下错误: 无效的URL,在上找不到WC API-- 确保您的商店URL正确,并启用了永久链接 根据,Pretty permalinks已启用并设置为post name。通过浏览器手动访问URL会得到一些WooCommerce设置的JSON输出,这就是为什么我认为商店URL是正确的。(这和我正在处理的域一样。)我还尝试插入新的使用者密钥和密钥,但没有帮助 对代码的一些研究使我想到了类-wc-api-client.php $index = @file_get_content

我尝试从开始,但不断出现以下错误:

无效的URL,在上找不到WC API-- 确保您的商店URL正确,并启用了永久链接

根据,Pretty permalinks已启用并设置为post name。通过浏览器手动访问URL会得到一些WooCommerce设置的JSON输出,这就是为什么我认为商店URL是正确的。(这和我正在处理的域一样。)我还尝试插入新的使用者密钥和密钥,但没有帮助

对代码的一些研究使我想到了类-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\u get\u contents得到了404响应。在商店目录中创建/wc-api/v2/目录没有帮助

我不明白为什么在浏览页面时会显示一个非空的JSON字符串,而file_get_contents会得到404响应。我觉得我错过了一些基本的东西

感谢您的帮助



编辑:找到了解决方案!我今天再次遇到这个问题,并对JSON上返回FALSE的文件_get_contents()进行了一些研究。让我走上正轨。在PHP.ini中设置allow_url_fopen=On可以解决这个问题。了解是否有其他人遇到此问题可能很有用。

我也遇到过类似的问题。我的问题是由iTheme Security中的一个设置引起的。在禁止用户->启用HackRepair.com的黑名单功能下。如果已启用列表,则itheme会在.htaccess中保留允许的用户代理列表。当您使用php的file_get_内容时,没有用户代理,因此脚本最终被阻止


如果其他人对此有问题,我建议查看您的.htaccess,看看是否有任何可疑之处。

这听起来很奇怪,但突然它起作用了。我不知道为什么--我恢复了我为解决这个问题所做的每一个更改。因此,系统状态与我发表原始帖子时完全相同。我和我的主人谈过,他们也说他们没有做任何改变。我想这个问题已经解决了。当我最终找到一些有用的东西时,我将进行编辑。