我有这个功能,现在有时当一个网站停机或长时间加载时,会减慢我网站的加载时间。如果服务器在2秒后没有响应,如何使cURL返回false?
如果服务器在2秒内没有响应,是否可以让它返回false?正如你所看到的,我尝试了CURLOPT_CONNECTTIMEOUT
,但这似乎并没有成功。
function url_get_contents($url)
{
if (!function_exists('curl_init'))
{
die('Exit: CURL is not installed or enabled!');
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_ENCODING, 'gzip');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
每次浏览您的网站时,您是否需要获取?把它放在一个cron中可能会更好,并保存结果,比如说每小时一次。然后您可以有一个很长的超时时间,并且您的站点不需要等待缓慢的HTTP操作。 – halfer