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

时间:2014-03-11 16:15:47

标签: php caching curl nginx

我试图通过向它发出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);
}

我需要设置某些标头才能使其正常工作吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

请在发出请求时检查您的缓存是否已启用(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);