如何优化获取 HTTP 状态代码



我有一个由URL组成的数组,我需要检查它们的HTTP状态代码,我的问题是,显示结果需要一些时间,并且还显示有关执行时间的错误。

有没有办法使检查更快或在仍在检查结果的同时逐个显示结果,您可以建议的任何内容。

<?php
$arrSites = array('http://example1.com/', 'http://example2.com/', 'http://example3.com/', 'http://example4.com/', 'http://example5.com/', 'http://example6.com/', 'http://example7.com/', 'http://example8.com/',);
for($x = 0; $x < count($arrSites); $x++){
echo statusCode($arrSites[$x]);
}

function statusCode($url) { 
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_NOBODY, true);
    curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    return $httpCode;
}

你可以在 php 中的响应式编程的帮助下做到这一点。您可以在其中拍摄所有请求以同时获取状态,而不是一个接一个。这反过来又可以帮助您比现在正在做的事情更快地获得响应。

想想 jquery 中的 ajax call、async-await 或 promise ?NodeJS中的事件循环。

请在下面找到链接,这些链接也可以帮助您通过深入了解该概念来实现相同的内容。

https://www.phproundtable.com/episode/asynchronous-php

https://reactphp.org/

最新更新