Я использую 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);
Чтобы закрыть этот вопрос:
Версия curl, которую я использую (7.15.5), не поддерживает CURLOPT_TIMEOUT_MS. По словам Грега, мне нужно как минимум 7.16.2.