我有一个cron作业,可以扫描URL以查看它们是否在线。我的问题是它从未完成844个网站。它将在260到300多一点之间变化。
cron作业每30分钟调用一次此PHP文件,但它从未完成我的完整列表。有什么我做不正确的事情来阻止循环完成任务吗?
// 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>";
}
}
}
答案 0 :(得分:0)
在其他服务器上进行了尝试,但没有任何问题。