Почему curl игнорирует CURLOPT_TIMEOUT_MS (но учитывает CURLOPT_TIMEOUT) - PullRequest
4 голосов
/ 06 декабря 2009

Я использую curl для вызова 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);

1 Ответ

7 голосов
/ 16 декабря 2009

Чтобы закрыть этот вопрос:

Используемая версия curl (7.15.5) не поддерживает CURLOPT_TIMEOUT_MS. По словам Грега, мне нужно как минимум 7.16.2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...