Php 循环中的CRULAPI请求非常慢
我使用的是MicrosoftGraphAPI,在postman中,它们都被称为“非常快”。我正在使用一个阵列并推进到一个新的阵列中,但我一直在这样做,而且速度不慢?有人看到我在做什么使数据处理如此缓慢吗?这需要整整10秒钟。我在搜索此问题时输入ob刷新并启动它。它没有任何作用?数据来自SharePoint日历。我有项目的id,我正在循环获取每个事件时间Php 循环中的CRULAPI请求非常慢,php,foreach,microsoft-graph-api,Php,Foreach,Microsoft Graph Api,我使用的是MicrosoftGraphAPI,在postman中,它们都被称为“非常快”。我正在使用一个阵列并推进到一个新的阵列中,但我一直在这样做,而且速度不慢?有人看到我在做什么使数据处理如此缓慢吗?这需要整整10秒钟。我在搜索此问题时输入ob刷新并启动它。它没有任何作用?数据来自SharePoint日历。我有项目的id,我正在循环获取每个事件时间 public function get_events(array $count, $access_token) { ob_start()
public function get_events(array $count, $access_token)
{ ob_start();
$events = array();
$request_header_auth[] = "Authorization: Bearer " . $access_token;
foreach($count as $ic)
{
$url = 'https://graph.microsoft.com/v1.0/sites/hiddenForSecurity/items/'.$ic.'/'.'fields/';
$curl = curl_init($url);
//curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $request_header_auth);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
$result = curl_exec($curl);
//if(!$result){die("Connection Failure");}
$parsed_response = json_decode($result, true);
array_push($events, $parsed_response['EventDate']);
ob_flush();
curl_close($curl);
}
ob_end_flush();
return $events;
}
此外,数组只有26个元素,所以它不是一个massave数组。我认为问题在于循环中存在
curl\u init
和curl\u close
。你能查询批量数据并对其进行过滤吗(即使之后)lemme see:10秒,26个https请求->每个请求380毫秒。不错的sherlock,你对顺序/同步方法有什么期望?还要考虑@wp78de remark。好吧,也许我不使用api就够了?这样的循环等待10秒是正常的?那么一定有更有效的方法,因为我相信很多人都有同样的方法问题是吗?我现在正在尝试mulitCrul,并认为它可以工作,但似乎仍然很低。谢谢@UlrichEckhardt我最终使用了multiCurl,它可以进行循环并使其更快。是的,我一生中没有使用过太多api。我假设10秒循环26个数组点会被普遍认为很慢,但我想不会当你每次调用api时。我很感激你想要更多的数据,但我不能真正给出我的公司数据,所以这是我可以描述的。它是一个27元素的数组,包含会议应该安排的时间