Nginx缓存不是用curl请求构建的


Nginx cache not built with curl request

我试图通过curl请求为某个URL构建nginx缓存,但缓存从未构建。

public function crawlUrl($url)
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $result = curl_exec($ch);
    curl_close($ch);
}

是否有某些头我需要设置让这个工作?

检查您的缓存是否在您发出请求时启用(cookie, url从缓存中排除…)

在我的情况下,我正在从生产中解析xml站点地图并检查我的开发环境中的缓存…仔细检查你的目标地址,有了正确的url,它应该可以正常工作:

$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);

应该不需要,但您可以尝试使用新的连接和新的cookie:

$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_HTTPGET, true);
curl_setopt($c, CURLOPT_FRESH_CONNECT, TRUE);
curl_setopt($c, CURLOPT_COOKIESESSION, true);
curl_exec($c);
curl_close($c);