PHP curl_exec()挂起

时间:2011-07-20 20:56:08

标签: php curl libcurl

我使用此函数发出cURL请求:

function curl_request($options) //single custom cURL request.
{
    $ch = curl_init();

    $options[CURLOPT_FOLLOWLOCATION] = true;
    $options[CURLOPT_COOKIEJAR] = 'cookies.txt';
    $options[CURLOPT_COOKIEFILE] = 'cookies.txt';
    $options[CURLINFO_HEADER_OUT] = true; 
    $options[CURLOPT_VERBOSE] = true;
    $options[CURLOPT_RETURNTRANSFER] = true;
    $options[CURLOPT_CONNECTTIMEOUT] = 5;
    $options[CURLOPT_TIMEOUT] = 5;

    curl_setopt_array($ch, $options);

    $response = curl_exec($ch);

    curl_close($ch);

    return $response;
}

脚本有时挂起,但并不总是挂在$response = curl_exec($ch)行。即使PHP脚本设置为无限超时(在客户端,Firebug将其视为“已中止”),也会发生这种情况。错误日志中没有任何内容。它只是在挂起时没有超过该行。

可能发生什么事?有什么建议吗?

1 个答案:

答案 0 :(得分:3)

问题似乎是服务器的资源。当我切换到具有更高带宽限制的更好的Web主机时,一切正常。