我正在使用curl來調用Web服務API。該服務可能無響應,所以我想設置超時。當我使用CURLOPT_TIMEOUT時,事情按預期工作。但是當我使用CURLOPT_TIMEOUT_MS(注意'MS'爲毫秒)超時似乎根本不起作用。 php.net告訴我後者自PHP 5.2.3起可用,並且我正在使用5.2.6。爲什麼會捲曲忽略CURLOPT_TIMEOUT_MS(但榮譽CURLOPT_TIMEOUT)?
任何想法,爲什麼發生這種情況?
謝謝。
的代碼片段:
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $call);
curl_setopt($c, CURLOPT_HTTPHEADER, $headers);
curl_setopt($c, CURLOPT_HEADER, false);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_TIMEOUT_MS, 100);
curl_setopt($c, CURLOPT_CONNECTIONTIMEOUT_MS, 100);
$result = curl_exec($c);
curl_close($c);
檢查phpinfo()以確保您至少有捲曲7.16.2 – Greg
不是 - 7.15.5。謎團已揭開。謝謝,格雷格。 – Greg