Отображение статуса сервера (включен или выключен) на веб-странице
Любопытно. Я начинаю транслировать футбольные игры в старших классах онлайн, и он использует программу для трансляции новостей с моего компьютера. Однако, когда я выключаю программу или компьютер, сервер отключается, и гости не смогут получить доступ к каналам.
Есть ли какой-нибудь код, который я могу опубликовать на своем сайте, который будет показывать моим гостям, включен ли сервер или нет? Я бы подумал, что это будет простой код, скрипт php или что-то, что периодически проверяет, находится ли сайт в сети, а затем отображает ON или OFF.
3 ответа
РЕДАКТИРОВАТЬ: использовать @fsockopen
или вы получите Cannot connect to the server
предупреждение, которое вы можете игнорировать, так как это то, что вы на самом деле пытаетесь проверить.
$ping = @fsockopen('myURL or IP', 80, $errno, $errstr, 10);
if (!$ping) // site is down
Например:
<?php
$URL = 'randomurlfortestingpurposes.com';
$ping = @fsockopen ($URL, 80, $errno, $errstr, 10);
(!$ping) ? $status = $URL.' is down' : $status = $URL.' is up';
echo $status.'<br>';
$URL = 'google.com';
$ping = @fsockopen ($URL, 80, $errno, $errstr, 10);
(!$ping) ? $status = $URL.' is down' : $status = $URL.' is up';
echo $status;
?>
Выходы
randomurlfortestingpurposes.com is down
google.com is up
Здесь есть два варианта, во-первых, вы можете запросить ответ от удаленного сервера, и если он не существует (после некоторого времени ожидания), заявить, что он не в сети. Вы можете кэшировать это, если время отклика может быть медленнее, чем время, которое пользователи захотят подождать, или добавить это в запрос AJAX, который может затем удалить видеоплеер, отобразить уведомление и т. Д. В случае сбоя.
Другой альтернативой является проверка на сбой канала и отображение сообщения сервера в автономном режиме.
Вы можете использовать пакет PEAR " NET_Ping " для проверки связи с вашим сервером.