У меня есть работа cron, которая сканирует URL-адреса, чтобы увидеть, находятся ли они в сети или нет.Моя проблема в том, что он никогда не завершает 844 веб-сайтов.Он будет варьироваться от 260 до чуть более 300.
Задание cron вызывает этот файл PHP каждые 30 минут, но он никогда не завершает мой полный список.Есть ли что-то, что я не делаю правильно, чтобы препятствовать тому, чтобы цикл завершил задачу?
// php file
//first part gets the csv file and reads the 844 sites
if (($handle = fopen("/public/csvs/" . $csv, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 0, ",")) !== FALSE) {
$num = count($data);
for ($c = 0; $c < $num; $c++) {
$site = $data[$c];
$curl = curl_init();
curl_setopt_array( $curl, array(
CURLOPT_HEADER => true,
CURLOPT_NOBODY => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_URL => 'https://'.$site ) );
$headers = explode( "\n", curl_exec( $curl ) );
curl_close( $curl );
// gets the status of the URL then
fills it in the database.
$statushttp = $headers[0];
$mysqltime = date("Y-m-d H:i:s", $phptime);
//$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//$sql = $conn->prepare($sql);
$sql = "INSERT INTO csv (http_status,status,url,csv,related)
VALUES ('$statushttp','$status','$site','$csv',1)";
// use exec() because no results are returned
$conn->exec($sql);
//echo $site ." ".$statushttp."<br>";
//echo $statusCode."<br>";
}
}
}