Мы работаем с webservices, но иногда они не отвечают, они слишком долго реагируют.PHP cURL - ограничение времени выполнения
Как остановить cURL, если требуется более 1 секунды?
Я пробовал:
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 1);
Я также пытался создать «временную страницу» между моим сервером и веб-сервиса: мой сервер вызывает временную страницу с:
set_time_limit(1);
ini_set('max_execution_time', 1);
И эта временная страница вызывает сам web-сервис с завитом, но все равно ничего. Если мой веб-сервис имеет время выполнения 10 секунд, мне придется подождать 10 секунд.
Любые идеи?
подход тайма-аута должен быть один, чтобы следовать, так как максимальное время выполнения вы используете в прокси-скрипте имеет в виде только фактическое выполнение сценария, время, затраченные на внешних вызовах не учитывается. Вы можете увидеть это в примечании на странице руководства для функции, которую вы используете http://php.net/set_time_limit – mishu
спасибо за этот ответ. Первое, что я попробовал, тоже не удалось. – d3cima
Если вы используете PHP на сервере unix, попробуйте добавить curl_setopt ($ ch, CURLOPT_NOSIGNAL, 1); – dafyk