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