使用最少的RAM和curl_exec

时间:2011-04-04 16:01:06

标签: php curl

您能否告诉我哪些代码示例使用最少的RAM?以下是我的两个例子:

$ch = curl_init();

foreach ($URLS as $url){
    // set URL and other appropriate options
    curl_setopt($ch, CURLOPT_URL, $url.'&no_cache');
    curl_setopt($ch, CURLOPT_HEADER, 0);

    // grab URL and pass it to the browser
    curl_exec($ch);
}
// close cURL resource, and free up system resources
curl_close($ch);

foreach ($URLS as $url){
     $ch = curl_init();
    // set URL and other appropriate options
    curl_setopt($ch, CURLOPT_URL, $url.'&no_cache');
    curl_setopt($ch, CURLOPT_HEADER, 0);

    // grab URL and pass it to the browser
    curl_exec($ch);
            curl_close($ch);
}
// close cURL resource, and free up system resources

1 个答案:

答案 0 :(得分:1)

第一个开销较轻,因为你只实例化curl对象一次,但是如果curl中有任何漏洞,并且你正在获取大量的URL,那么你的内存可能会用完。

通常我只调用一个新的curl对象,如果获取的下一个url在设置上的差异太大而不是旧的curl。更容易从默认设置开始并对其进行更改,而不是尝试“撤消”上一次运行中的冲突设置。