Как оптимизировать получение кода статуса HTTP - PullRequest
0 голосов
/ 22 декабря 2018

У меня есть массив, состоящий из 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;

}

1 Ответ

0 голосов
/ 22 декабря 2018

Вы можете сделать это с помощью реактивного программирования в php.В котором вы можете снимать все запросы, чтобы получить статус одновременно, а не по одному.Что, в свою очередь, поможет вам быстрее получить ответ, чем то, что вы делаете сейчас.

Подумайте о вызовах ajax, async-await или обещаниях в jquery?Цикл событий в NodeJS.

Ниже приведены ссылки, которые могут помочь вам реализовать то же самое с глубоким погружением в концепцию.

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

https://reactphp.org/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...