Итак, в настоящее время я пытаюсь пинговать URL-адреса в таблице базы данных, которая затем должна публиковать статус 'LIVE'
или 'DOWN'
этого URL-адреса на веб-странице, если эхо-запрос был успешным.он настроен как массив php с fsocket
, который работал.
В настоящее время, когда я использую код, показанный ниже, он извлекает данные из таблицы БД, но значок постоянно показывает 'LIVE'
или 'DOWN'
показывает 'DOWN'
.
<?php
require_once "config/config.php";
$sql = "SELECT * FROM deployments";
if($result = mysqli_query($link, $sql)){
if(mysqli_num_rows($result) > 0){
echo "<tr>";
echo "<th>Server</th>";
echo "<th>Deployment</th>";
echo "<th>URL</th>";
echo "<th>Status</th>";
echo "<th>Port</th>";
echo "</tr>";
while($row = mysqli_fetch_array($result)){
echo "<tr>";
echo "<td>" . $row['server'] . "</td>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['url'] . "</td>";
$url = $row['url'];
$port = $row['port'];
$url = '$url';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_exec($ch);
$retcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if (200==$retcode) {
echo "<td><span class='badge badge-success'>LIVE</span></td>";
} else {
echo "<td><span class='badge badge-danger'>DOWN</span></td>";
}
echo "<td>" . $row['port'] . "</td>";
echo "</tr>";
}
// Free result set
mysqli_free_result($result);
} else{
echo "No records matching your query were found.";
}
} else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
?>