我使用curl来调用Web服务API.该服务可以无响应,所以我想设置超时.当我使用CURLOPT_TIMEOUT时,事情按预期工作.但是当我使用CURLOPT_TIMEOUT_MS(注意’MS’为毫秒)时,超时似乎根本没有启动. PHP.net告诉我后者自PHP 5.2.3版本开始可用,我使用的是5.2.6.
任何想法为什么会这样?
谢谢.
代码片段:
$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);
解决方法:
要结束这个问题:
我正在使用的curl版本(7.15.5)不支持CURLOPT_TIMEOUT_MS.据格雷格说我至少需要7.16.2.