Установка тайм-аута завихрения в PHP

Я работаю на вихревом запросе существовать база данных через php. Набор данных является очень большим, и в результате база данных последовательно занимает долгое количество времени для возврата ответа XML. Для фиксации этого мы настраиваем вихревой запрос, с тем, что, как предполагается, является долгим тайм-аутом.

$ch = curl_init();
$headers["Content-Length"] = strlen($postString);
$headers["User-Agent"] = "Curl/1.0";

curl_setopt($ch, CURLOPT_URL, $requestUrl);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, 'admin:');
curl_setopt($ch,CURLOPT_TIMEOUT,1000);
$response = curl_exec($ch);
curl_close($ch);

Однако вихревой запрос последовательно заканчивается, прежде чем запрос завершается (<1000 при необходимости через браузер). Кто-либо знает - ли это надлежащий способ установить тайм-ауты в завихрении?

212
задан JakeGould 14 May 2014 в 09:12
поделиться

2 ответа

Хм, мне кажется, что CURLOPT_TIMEOUT определяет количество времени, которое разрешено выполнять любой функции cURL. Я думаю, вам стоит вместо этого посмотреть CURLOPT_CONNECTTIMEOUT , поскольку это указывает cURL максимальное время ожидания завершения соединения.

57
ответ дан 23 November 2019 в 04:30
поделиться

Вы не можете запустить запрос из браузера, он будет ждать ответа сервера, выполняющего запрос CURL, по таймауту. Браузер, вероятно, отключается через 1-2 минуты, время ожидания сети по умолчанию.

Вам нужно запустить его из командной строки / терминала.

8
ответ дан 23 November 2019 в 04:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: