【问题标题】:Nginx cache not built with curl requestNginx 缓存不是用 curl 请求构建的
【发布时间】:2015-03-30 21:28:16
【问题描述】:

我正在尝试通过向某个 URL 发出 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);
}

是否需要设置某些标题才能使其正常工作?提前致谢。

【问题讨论】:

  • 我也有同样的问题,使用 nginx fastcgi 缓存,你找到答案了吗?

标签: php caching curl nginx


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2017-02-15
    • 1970-01-01
    • 1970-01-01
    • 2019-02-08
    • 1970-01-01
    • 2012-12-15
    • 2016-12-10
    • 2016-02-15
    • 2011-08-23
    相关资源
    最近更新 更多