✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

Anzeigen der Betriebszeit des Serverstatus auf Webseiten mit PHP und Crontab

9

Wir alle wissen bereits in diesem Beitrag, dass wir shell_exec oder exec in PHP verwenden können, um die Ausgabe eines externen Programms auf dem Server zu erhalten. Offensichtlich können wir den Linux-Befehl uptime ausführen, um den Status des Servers abzurufen, was so etwas ergibt (oder wenn Sie in diesem Blog nach unten scrollen, finden Sie am Ende dieser Seite fast Echtzeit-Statusaktualisierungen, dh aktualisiert alle 5 Minuten):

 10:25:01 up 31 days, 15:17,  0 users,  load average: 0.01, 0.09, 0.12

Aus diesen Gründen wird jedoch nicht empfohlen, den uptime – Befehl direkt mit shell_exec oder exec aufzurufen.
Erstens können shell_exec und exec (soweit ich weiß) von Webhosting-Unternehmen deaktiviert werden, hauptsächlich auf den gemeinsam genutzten Hosts aus Sicherheitsgründen. Fasthosts deaktiviert dies, aber Godday hingegen verbietet diese Verwendung nicht. Zweitens gilt es als ineffizient und zeitaufwändig (CPU), diese beiden Befehle in Echtzeit innerhalb von PHP-Skripten auszuführen.

Der richtige/empfohlene Weg, um solche Informationen zu erhalten, ist wie folgt: Erstellen Sie zunächst eine Crontab, die in einem Zeitintervall ausgeführt wird, z. B. alle 2 Minuten, auf dem Server. Verwenden Sie crontab -e, damit Sie die Jobs mit Ihrem bevorzugten Texteditor bearbeiten können, z als nano oder vim.

Daher wird alle 2 Minuten (entfernen Sie /2 für jede Minute) die Datei uptime.txt aktualisiert und im öffentlichen HTTP-Ordner abgelegt. Sie können also das folgende PHP-Skript verwenden, um solche Daten zu erhalten.

Klingt ziemlich einfach, oder? Dies gibt Ihnen einen relativ genauen Verfügbarkeitsstatus und Sie könnten diese Informationen in die footer.php des WordPress-Blogs einfügen (zum Beispiel bis zum Ende der Seite scrollen).

Sie können auch die Servervariable DOCUMENT_ROOT verwenden, die das Stammverzeichnis einer Website darstellt. Stellen Sie also sicher, dass sich die uptime.txt im Stammverzeichnis einer Website befindet.

$uptime = ''; $uptimefile = $_SERVER['DOCUMENT_ROOT']. '/uptime.txt'; if (is_file($uptimefile)) {     $uptime = @file_get_contents($uptimefile); }  

Aufnahmequelle: helloacm.com

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen