Server UpTime

milkboy

Aktives Mitglied
Hallo

Ich möchte auf meiner Webseite eine kleine Infoseite erstellen, auf welcher ersichtlich ist, wie lange der Server schon in betrieb ist.

Kann man dies mit PHP ermitteln?
 
Ich würde es so machen:

Alle x Minuten via Cronjob prüfen, ob Server (http) erreichbar ist.
Wenn ja: Zeit in Textdatei oder Datenbank plus x.
Wenn nein: Zeit auf 0 zurücksetzen.

Die Uptime kann man dann bequem auslesen.
 
http://www.4webhelp.net/scripts/php/uptime.php
wink.gif
 
Mit dem shell_exec() könnte es sich aber etwas schwierig gestalten
rolleyes.gif
 
QUOTE (milkboy @ So 27.8.2006, 23:12) Ich benutze Windows als OS. shell_exec() funktioniert bei mir nicht.

Wenn Du etwas runterscrollst findest Du dort eine Variante für Windows. Vielleicht funktioniert diese auf Deinem Server.

Gruß
David

P.S. Ein Edit hätte gereicht.
 
Es gibt mindestens einen Weg um zuverlässig die Uptime vom Apache Herauszubekommen. Dies funktioniert über das Status-Module [1].
Wenn man die Status-Seite nur lokal aufrufen darf, kann man mittels PHP auf diese Seite zugreifen und die aktuelle Update auslesen. Hier mal eine Beispiel, der Ausgabe als Quelltext:

CODE <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html><head>
<title>Apache Status</title>
</head><body>
<h1>Apache Server Status for www.domain.de</h1>

<dl><dt>Server Version: Apache</dt>
<dt>Server Built: Aug  5 2006 22:41:36
</dt></dl><hr /><dl>
<dt>Current Time: Sunday, 27-Aug-2006 23:06:13 CEST</dt>
<dt>Restart Time: Sunday, 27-Aug-2006 21:36:20 CEST</dt>
<dt>Parent Server Generation: 0</dt>
<dt>Server uptime:  1 hour 29 minutes 52 seconds</dt>
<dt>1 requests currently being processed, 7 idle workers</dt>
</dl><pre>__W____._.......................................................
................................................................
................................................................
................................................................
</pre>
<p>Scoreboard Key:<br />
"<b><code>_</code></b>" Waiting for Connection,
"<b><code>S</code></b>" Starting up,
"<b><code>R</code></b>" Reading Request,<br />
"<b><code>W</code></b>" Sending Reply,
"<b><code>K</code></b>" Keepalive (read),
"<b><code>D</code></b>" DNS Lookup,<br />
"<b><code>C</code></b>" Closing connection,
"<b><code>L</code></b>" Logging,
"<b><code>G</code></b>" Gracefully finishing,<br />
"<b><code>I</code></b>" Idle cleanup of worker,
"<b><code>.</code></b>" Open slot with no current process</p>
<p />
PID Key: <br />
<pre>
  13769 in state: _ ,   12893 in state: _ ,   13788 in state: W
  14041 in state: _ ,   14042 in state: _ ,   12901 in state: _
  14043 in state: _ ,   14090 in state: _ ,
</pre>
<hr />To obtain a full report with current status information you need to use the <code>ExtendedStatus On</code> directive.
</body></html>



Vielleicht gibt es auch noch einen Weg den Wert direkt über die Apache-Funktionen [2] von PHP auszulesen, dazu müsste man sich damit aber intensiver beschäftigen.



MfG Sascha Ahlers
 
Den Serverstatus kann ich abrufen. Nur wie mache ich das Lokal und wie lese ich das mit php aus?
 
Zurück
Oben