获取http状态码的最快方法是什么。我有一个大约 10k URL 内的列表要检查。在最好的情况下,它每 15 分钟检查一次。所以我有一个 php 脚本,它使用简单的 curl 函数并循环遍历它们。但这需要太多时间。有什么建议我可以做些什么来改善它?对多个 url 进行并行检查呢?php可以管理多少?我对这整个表演很陌生。
这就是我所拥有的:
public function getHttpStatus(array $list) {
$list = array(…); // Array contains 10k+ urls from database.
for($i = 0; $i < count($list); $i++) {
$ch = $list[$i];
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_MAXREDIRS, 5);
$c = curl_exec($ch);
$info = curl_getinfo($ch);
echo $info['http_code'] . '<br />';
}
}
提前致谢!