webForumDet fria alternativet

Apache +PHP + serveruptime.

PHPur PHP

6 svar · 586 visningar · startad av tilleritova

tilleritovaMedlem sedan okt. 2005112 inlägg
Frågan#1

Hej.

Undrar om det finns ett PHP script som kan via på min hemsida hur länge min server har varit igång (server uptime)

Jag kör:
Windows XP
Apache
PHP

The_HulkMedlem sedan juni 20031 837 inlägg
#2

Vilken server syftar du på, själva windows eller Apache?

UrMes avatarUrMeMedlem sedan apr. 2001762 inlägg
#3

The_Hulk skrev:

Vilken server syftar du på, själva windows eller Apache?

Tror han menar att han kör Apache på en Windows XP maskin.

Vet inte om man kan göra det på något enklare sätt men hemma kör jag det så här:

$uptime = `uptime`;
$pattern = '/^.*( \d+ day\(s\), \d+ hour\(s\), \d+ minute\(s\), \d+ second\(s\)).*$/isD';
$result = preg_replace( $pattern, '$1', $uptime );
echo "Uptime: $result<br><br>\n";

Och du måste ha denna .exe fil i samma mapp som scriptet.
http://www.urme.com/uptime.zip

henkeMedlem sedan dec. 1999286 inlägg
#4

Tror inte det finns något enklare sätt än att köra en exekverbar fil på servern, så testa UrMe:s tips.

WuiqedMedlem sedan juli 200519 inlägg
#5

Jodå, pagefile.sys modifieras vid varje uppstart av systemet, därför kan du kolla av senaste modifieringstiden för den för att se upptid. Följande är saxat direkt från ett av mina skript, modifiera vid behov.

//sökväg till pagefile.sys
$pagefile = 'c:\pagefile.sys';

//konvertera totalt antal sekunder till dagar, 
//timmar, minuter och sekunder
$uptime   = time() - filemtime($pagefile);
$days     = floor($uptime/60/60/24);
$hours    = $uptime/60/60%24;
$minutes  = $uptime/60%60;
$seconds  = $uptime%60;

//skriv ut allting med några enkla jämförelser för att
//avgöra om singular eller plural skall användas
echo "Uptime: ";
echo ($days == 1) ? $days . " day, " : $days . " days, ";
echo ($hours == 1) ? $hours . " hour, " : $hours . " hours, ";
echo ($minutes == 1) ? $minutes . " minute and " : $minutes . " minutes and ";
echo ($seconds == 1) ? $seconds . " second" : $seconds . " seconds";
The_HulkMedlem sedan juni 20031 837 inlägg
#6

tackar så mycket Wuiged.

GunnarDMedlem sedan juni 20014 290 inlägg
#7

Wuiqed skrev:

Jodå, pagefile.sys modifieras vid varje uppstart av systemet, därför kan du kolla av senaste modifieringstiden för den för att se upptid. Följande är saxat direkt från ett av mina skript, modifiera vid behov.

Undrar om det är en så säker metod, vad händer om windows vill öka eller minska swapfilen, kommer inte modifieringstiden ändras då? Den borde göra det iallafall.

128 ms totalt · 3 externa anrop · v20260731065814-full.58439ac5
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)