PDA

Просмотр полной версии : Что если функция выполнилась с ошибкой? нужна помощь.


Whois
24.07.2009, 03:25
Всем привет, сегодня возился с биллингом.
В 2 словах суть в том что он должен выводить ответ в в браузер:
echo "бла бла бла";
после чего выgолняется гет запрос на сервер. (через curl сделал)

Пример:
echo "все ок";
curl (http://domen.ru?getzapros=poexal);

Все хорошо, все пашет... Но только в том случае если сервер он лайн. Сегодня сервер даунился и соответсвтенно повыскакивали ошибки.(в биллинге) . Ошибка типа: нет ответа скрипта. Насколько я понял они были связаны с тем что не выполнялся гет запрос (на сервер который был в дауне), и соответсвенно браузер ничего не выводилось (echo не выполнялось).
Перепробовал следующее
1. Выброс в буфер после echo
ob_flush();
flush();
2. @ перед curl функцией
3. erorr_reporting(0);
4. делал условие if (epmty(curl)) {echo}else{echo}


Вобщем ничего не помогло...
подскажите кто что может. Как можно пропустить функцию? Мне нужно чтобы в любой случае (независимо от статуса выполнения гет запроса) выполнился оператор echo. Для биллинга главноек echo.

FireFenix
24.07.2009, 03:45
<?php

for ($i = 0; $i <= 10; $i++)
{
ob_start();
echo($i . '<br>');
ob_end_flush();

ob_flush();
flush();

sleep(1);
}

?>

betakley
24.07.2009, 03:57
CURLOPT_TIMEOUT не больше set_time_limit ???

[QwyZ]
24.07.2009, 08:53
postav pered curl exec @

mailbrush
24.07.2009, 09:55
[QwyZ], придавливание ошибки никогда не было вариантом решения проблемы.

Whois
24.07.2009, 14:01
не то это все ((

Whois
24.07.2009, 14:12
CURLOPT_TIMEOUT не больше set_time_limit ???
щас попробую, незнаю будет ли он конфилктовать с set_time_limit(0); я прописывал в начале скрипта