我正在尝试尽快请求多个 API。所以我尝试了curl_multi。但我得到的结果比 foreach 和 file_get_contents 慢。我做错了什么?
使用file_get_contents:
使用curl_multi:
0);
for($i = 1; $i < $urls_count; $i++)
{
$results = curl_multi_getcontent ( $curl_arr[$i] );
}
echo microtime(true) - $start;
?> Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
这个问题是
curl_multi有很大的开销。我假设它必须为每个请求创建一个 shell 进程,然后在该进程中执行curl,最后将内容返回到请求该操作的脚本。file_get_contents已优化PHP 语言固有的:对于何时使用库和语言中的本机功能,这是一个很好的学习体验。此外,库还可以选择多线程并利用多核处理器,这可能会加速请求。需要自己查找和测试的东西。