Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Сеть > CURL в цикле


Автор: blackEye 5.10.2007, 20:10
Добрый день, уважаемые!
Столкнулся с проблемой вызова curl в цикле.
Есть функция test(), которая вызывается в цикле и содержить код:

Код

function test()
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, _LINK);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'langpair=en|ru&text='.$Text);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, _CURL_TIMEOUT); // пробовал разные числа, но curl  заговорён на 30 сек.
$TranslatedText = curl_exec($ch);

curl_close ($ch);
}


Функция test() вызывается в цикле в течение 30 сек. и затем ругается на таймаут который якобы истёк.
Получается что таймаут начался при первом вызове curl_exec() и не прекратился после вызова curl_close() !
Подскажите, пожалуйста как обойти проблему.

С уважением, Игорь.

Автор: Vaulter 5.10.2007, 20:56
Код

//делайте следующее в конце:
curl_close ($ch);
set_time_limit(30);//сбрасываем счетчик таймаута СКРИПТА
..................

Код

//если не поможет это. в начале:
ini_set('max_execution_time', 0);
function test()
{
..................


ну уж если и это. попробуйте чтонибудь все-таки выводить и flush'ить.


Автор: blackEye 5.10.2007, 21:18
Vaulter
Спасибо большое!!!!!!!

curl_close($cl);
set_time_limit(30);

 smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)