Я работаю на вихревом запросе существовать база данных через 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 при необходимости через браузер). Кто-либо знает - ли это надлежащий способ установить тайм-ауты в завихрении?
Хм, мне кажется, что CURLOPT_TIMEOUT
определяет количество времени, которое разрешено выполнять любой функции cURL. Я думаю, вам стоит вместо этого посмотреть CURLOPT_CONNECTTIMEOUT
, поскольку это указывает cURL максимальное время ожидания завершения соединения.
Вы не можете запустить запрос из браузера, он будет ждать ответа сервера, выполняющего запрос CURL, по таймауту. Браузер, вероятно, отключается через 1-2 минуты, время ожидания сети по умолчанию.
Вам нужно запустить его из командной строки / терминала.