我试图通过向它发出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);
}
我需要设置某些标头才能使其正常工作吗?提前谢谢。
答案 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);