Цикл зависает при выполнении запросов CURL к Highrise API

У меня проблемы с получением этого кода для правильного выполнения. Highrise API работает так, что он будет возвращать только 500 результатов в каждом запросе, чтобы получить больше результатов, вы добавляете ?n=number в конце URL. У меня есть почти 9000 записей, и мне нужно пройтись по каждой из них и извлечь информацию на основе некоторых условных операторов.

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

Я проверил свои журналы ошибок и не вижу ошибок. Может быть, я выполняю curl неправильная команда внутри цикла. Если я уберу первый for цикл я получаю первые 500 результатов, как и ожидалось.

<?php

$curl = curl_init();

function runScript($curl) {
for($currentCount = 0; $currentCount <= 1000; $currentCount + 500) {
//set parameters to be used for curl options
curl_setopt_array($curl, array(
CURLOPT_USERPWD => 'xxxxxxxxxxxx:X',
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => "https://xxxxxxx.highrisehq.com/people.xml?n=$currentCount",
CURLOPT_USERAGENT => 'XXXXXXXXX Test App ([email protected])'
));

$resp = curl_exec($curl);

$xml = new SimpleXMLElement($resp);foreach($xml->person as $person) {
if($person->{'subject_datas'}) {
foreach($person->{'subject_datas'}->{'subject_data'} as $subjectData) {
if($subjectData->{'subject_field_id'} == 780666) {
echo $person->{'first-name'};
echo ", ";
echo $person->{'last-name'};
echo ", ";
echo $person->{'title'};
echo ", ";
echo $person->{'company-name'};
echo ", ";

foreach($person->{'contact-data'}->{'email-addresses'} as $email) {
echo $email->{'email-address'}->{'address'};
}

echo ", ";
echo $subjectData->{'value'};
echo "<br/>";
}
}
}
}
}
}

runScript($curl);
curl_close($curl);

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]