通过说我绝对是Wordpress的新手来说明这一点,所以可能会有某种配置,我不知道导致这种情况(我希望这是一个简单的修复)
最近,我接管了一个体积适中的Wordpress环境,正在努力加快Wordpress附带的所有怪癖。
出于测试目的,我所做的是改变我的hosts文件以将所有请求重定向到我的生产环境,然后点击本地,以便我可以测试我对当前正在运行的端点所做的本地更改生产。
示例:
127.0.0.1 api.mywebsite.com
因此,当测试一段调用此端点的代码时,我已经更新了,我希望它能够重新路由到本地版本。
问题在于,即使主机文件发生变化,由于某种原因,我总是回到当前版本的端点(现在是prod中的那个)并且回到有效的#34; old&#34 ;来自端点的响应。
虽然在我的代码中我手动将其更改为专门命中localhost,但它有点陌生:
$data = wp_remote_get('http://localhost/site/data.json');
print_r($data);
(我也特意尝试过127.0.0.1)
此print语句的输出仅返回响应的标题,然后是" Body"完全是空的。
这很奇怪,因为如果我只是在路径上运行cURL,或者只是在本地浏览器中点击它,我每次都能得到有效的响应,所以这绝对不是逻辑问题在端点本身运行的代码。
我已经尝试通过使用下面的代码来改变我运行GET到该端点的方式,但是出现了完全相同的情况,所以它似乎不是我的方式有问题试图调用此端点。
$apiRequest = new WP_Http;
$data = $apiRequest->request(
'http://localhost/site/data.json',
array('decompress' => false)
);
是否有人知道是否存在可能导致此问题的某种Wordpress项目设置?如覆盖我的主机文件更改,将所有prod流量重定向到本地?
我之前从未遇到过这样的情况,到目前为止我调试它的尝试完全没用了。
重申我的情况,我要做的是能够通过点击prod环境并让我的hosts文件将我重定向到本地版本来测试我对生产端点所做的本地更改,但似乎我的Wordpress配置(或其他东西)总是试图重新回到端点的当前prod版本,从而得到一个未更新的响应。
然后,如果我尝试在我的代码中明确告知命中端点的本地版本,我将在" body"一点都不(以下示例):
Array ( [headers] => Requests_Utility_CaseInsensitiveDictionary Object ( [data:protected] => Array ( [server] => nginx/1.10.2 [date] => Fri, 17 Mar 2017 17:31:37 GMT [content-type] => text/html; charset=UTF-8 [x-powered-by] => PHP/5.5.9-1ubuntu4.20 [set-cookie] => Array ( [0] => PHPSESSID=f42o8ubvk0ohr2mfjogmvmm5p4; path=/ [1] => wfvt_3956933299=58cc1d7825ee1; expires=Fri, 17-Mar-2017 18:01:36 GMT; Max-Age=1800; path=/; httponly ) [pragma] => no-cache [expires] => Wed, 11 Jan 1984 05:00:00 GMT [cache-control] => no-cache, must-revalidate, max-age=0 [link] => ; rel="https://api.w.org/" [content-encoding] => gzip ) ) [body] =>
非常感谢任何帮助!