Avatar billede jgni Nybegynder
17. april 2003 - 01:00 Der er 28 kommentarer og
2 løsninger

Vise uptime på en hp

Jeg vil gerne vise uptime'n på min Apache 1.3.27 server, på en hjemmeside. Nogen umiddelbar nem måde at gøre det på ?
Avatar billede raffar Juniormester
17. april 2003 - 01:35 #1
Avatar billede raffar Juniormester
17. april 2003 - 01:37 #2
Dette er lidt mere udførligt http://phpsysinfo.sourceforge.net/
Avatar billede raffar Juniormester
17. april 2003 - 01:40 #3
Hvis du vælger http://phpsysinfo.sourceforge.net/ så er det ikke tilrådeligt at have det liggende offentligt. Man ved aldig.
Avatar billede sukos Juniormester
17. april 2003 - 08:59 #4
Der er jo også apache indbyggede.
Kik efter <Location /server-status> i din conf
Avatar billede jgni Nybegynder
17. april 2003 - 12:29 #5
raffar : jeg burde nok havde sagt at jeg kører min server på en winsnøws :)
Avatar billede jgni Nybegynder
17. april 2003 - 12:30 #6
Den der http://rohs.nl/php.php den ligner en mulighed. Men jeg er bare ikke indendørs verdensmester i php.
Avatar billede htm Nybegynder
17. april 2003 - 14:06 #7
Vil give sukos ret! Det nemmeste er at bruge den server-status

Find

#LoadModule status_module modules/mod_status.so
og
AddModule mod_status.c

i din httpd.conf og fjern # foran dem.

Find ligeledes følgende i httpd.conf og fjern # foran

#<Location /server-status>
#    SetHandler server-status
#    Order deny,allow
#    Deny from all
#    Allow from dk
#</Location>

Genstart apache herefter!
Avatar billede htm Nybegynder
17. april 2003 - 14:07 #8
Man kan så se serverstatus ved at skrive http://servername/server-status

Hvor servername er din ip-adresse eller hostname du normalt tilgår din server med!
Avatar billede sukos Juniormester
17. april 2003 - 14:08 #9
Kan sgutte lige finde ud af det på win.
Men en snyder kan gøres så'n:

(kode fra dit link er brugt)
<?php
$filtid = filemtime("c:/apache/logs/httpd.pid"); //Eller hvor du nu har lagt apache
$reel = (time()-$filtid);

$uptime_array = array();
$uptime_array[] = $reel;
$seconds = round($uptime_array[0], 0);
$minutes = $seconds / 60;
$hours = $minutes / 60;
$days = floor($hours / 24);
$hours = floor($hours - ($days * 24));
$minutes = floor($minutes - ($days * 24 * 60) - ($hours * 60));
$seconds = floor($seconds - ($days * 24 * 60 * 60) - ($hours * 60 * 60) - ($minutes * 60));
$uptime_array = array($days, $hours, $minutes, $seconds);

if ($uptime_array[0] == 0) {
if ($uptime_array[1] == 0) {
if ($uptime_array[2] == 0) {
print("Uptime: " . $uptime_array[3] . " second(s)");
}

else {
print("Uptime: " . $uptime_array[2] . " minute(s)");
}
}

else {
print("Uptime: " . $uptime_array[1] . " hour(s)");
}
}

else {
print("Uptime: " . $uptime_array[0] . " day(s)");
}
?>

"snyder" fordi httpd.pid ikke ændrer filtid selvom du genstarter din server, men det der "uptime" er vist noget UNIX-specifik
Avatar billede sukos Juniormester
17. april 2003 - 14:09 #10
htm->den viser jo så bare ikke kun oppetiden
Avatar billede htm Nybegynder
17. april 2003 - 14:12 #11
sukos>> Det er selvfølgelig rigtigt :-) - mig ikke læse ordentligt idag. Må være påskekuller...

Men man kunne vel lave noget php-scripts der hentede den oplysning ud.
Avatar billede sukos Juniormester
17. april 2003 - 14:15 #12
Ja, det ville jeg jo osse mene, men hvis jeg prøver får jeg beskeden at filen ikke findes
Avatar billede sukos Juniormester
17. april 2003 - 14:15 #13
påskekuller?
er vel påskeøller? :O)
Avatar billede htm Nybegynder
17. april 2003 - 14:33 #14
Påskeøller eller påskekuller er vel ca. det samme :-) Man får påskekuller af påskeøller...

Dette vil udskrive serverstatus ud fra http://servername/server-status

<?php
$array = file("http://". $_SERVER["SERVER_NAME"] . "/server-status");
for($i = 0; $i < count($array); $i++){
    if (eregi("Server uptime", $array[$i])) {
        $array[$i] = str_replace("Server uptime: ", "", $array[$i]);
        echo "$array[$i]";
        break;
    }
}
?>
Avatar billede sukos Juniormester
17. april 2003 - 14:40 #15
ha, hvad fa'n lavede jeg tidligere? (påskeøller, måske?)
Prøvede også at åbne med file, men fik beskeden om at den ikke fandtes! :O)
Avatar billede htm Nybegynder
17. april 2003 - 14:43 #16
:-D
Avatar billede sukos Juniormester
17. april 2003 - 14:51 #17
For nu så at "mixe" m.m.

<?php

$filtid = filemtime("c:/apache/logs/httpd.pid");
echo"Server startet op d.". date("d/m-y - H:i:s", $filtid);


$array = file("http://". $_SERVER["SERVER_NAME"] ."/server-status");
for($i = 0; $i < count($array); $i++){
if (eregi("Server uptime", $array[$i])) {
$array[$i] = str_replace("Server uptime: ", "", $array[$i]);

echo "<br>\nGenstartet for ". strip_tags(trim($array[$i])) ." siden";
break;
    }
}
?>
Avatar billede jgni Nybegynder
17. april 2003 - 15:03 #18
Hej jer :)
Jeg er ved at endevende hele lejligheden, så jeg når ikke rigtig at prøve jeres forslag. Men jeg skal nok vende tilbage til det. Måske først efter påske, men jeg har ikke glemt jer.

Bare lige for at præcisere det, så var min tanke at jeg KUN ville vise uptime, og ikke alle mulige andre info. Integreret ind i en ganske almindelig php-side f.eks.
Avatar billede jgni Nybegynder
17. april 2003 - 23:26 #19
Sukos : Med dit sidste kode eks. får jeg følg. fejl :
Server startet op d.14/04-03 - 22:06:58
Warning: file("http://hexav/server-status") - No error in c:\programmer\apache group\apache\htdocs\intranet\system\index.php on line 8

Hvor linie 8 er : $array = file("http://". $_SERVER["SERVER_NAME"] ."/server-status");

Som I kan se har jeg rettet stien så den passer til mit system. Nogen idéer ?
Avatar billede htm Nybegynder
17. april 2003 - 23:28 #20
jgni>> Det script kræver som jeg startede med at skrive at server-status er slået til i din httpd.conf!
Avatar billede jgni Nybegynder
17. april 2003 - 23:30 #21
Det ER slået til
Avatar billede htm Nybegynder
17. april 2003 - 23:32 #22
Kommer du normalt ind på din server ved at skrive hexav
Avatar billede jgni Nybegynder
17. april 2003 - 23:32 #23
Jeps
Avatar billede htm Nybegynder
17. april 2003 - 23:34 #24
og hvad hvis du så skriver http://hexav/server-status ?
Avatar billede jgni Nybegynder
17. april 2003 - 23:35 #25
Apache Server Status for hexav
Server Version: Apache/1.3.27 (Win32) PHP/4.2.3
Server Built: Oct 3 2002 18:55:42

--------------------------------------------------------------------------------
Current Time: Thursday, 17-Apr-2003 23:30:02 Rom, sommertid
Restart Time: Thursday, 17-Apr-2003 00:12:49 Rom, sommertid
Parent Server Generation: 1
Server uptime: 23 hours 17 minutes 13 seconds
Total accesses: 349 - Total Traffic: 1.1 MB
.00416 requests/sec - 13 B/second - 3209 B/request
1 requests currently being processed, 49 idle servers

...
...
...
osv
Avatar billede jgni Nybegynder
17. april 2003 - 23:38 #26
Har det nogen betydning hvor mit script ligger ?
Den 1. halvdel af det virker jo fint.
Avatar billede htm Nybegynder
17. april 2003 - 23:41 #27
Hmm - det er mærkeligt!

Nej det skulle ikke have nogen betydning hvor scriptet ligger! Den forsøger netop at få fat i http://SERVER_NAME/server-status

I dette tilfælde skulle den gerne åbne den side du havde der før!

Prøv og sæt allow from all i stedet for allow from dk i din httpd.conf.
Avatar billede jgni Nybegynder
17. april 2003 - 23:53 #28
Ja, så virker det
Avatar billede htm Nybegynder
17. april 2003 - 23:54 #29
Det var godt :-)
Avatar billede jgni Nybegynder
17. april 2003 - 23:55 #30
Så skal jeg bare have kigget lidt på nogen andre detaljer. Men nu virker det her da :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester