Avatar billede cool-wil Nybegynder
13. april 2002 - 19:34 Der er 22 kommentarer og
2 løsninger

hvad er problemet?

Jeg har en hel del problemer med et script, som virlig tager lang tid at køre igennem for min apache server.
system:
win 98
en 486er med 15 mb ram...

scriptet ser sådan her ud....(hvorfor tager det så lang tid? er det fordi den skal åbne uptime.exe eller)
<?php
$uptime = exec("c:\apache\htdocs\uptime.exe");
$dage = intval($uptime / 86400);
$uptime = $uptime - ($dage * 86400);
$timer = intval($uptime / 3600);
$uptime = $uptime - ($timer * 3600);
$minutter = intval($uptime / 60);
$uptime = $uptime - ($minutter * 60);
$sekunder = $uptime;
print "Serveren har en uptime på: $dage dage, $timer timer, $minutter minutter og $sekunder sekunder.";
?>
<html>
<br>
<br>
</html>
<?php
$host = "http://minip";
$fp=@fopen($host,"r");
if ($fp) {print "<font color='#126712'>online</font>";}
else{print "<font color='#F0000F'>Offline</font>";}
?>

Hvad kan problemet være..
se evt. www.asio.dk/test.php (den tager lang tid at loade)

kan man gøre dette script mere brugervenligt?

wil/

Avatar billede sukos Juniormester
13. april 2002 - 19:48 #1
15 ram?
Flere er jo ingen skade til.
Hvor stor er din disk?
Er den fyldt ud?

Har du mulighed for at se hvor meget power de forskellige ting tager?
Avatar billede sukos Juniormester
13. april 2002 - 19:49 #2
Hvor hurtig er din forbindelse?
Avatar billede sukos Juniormester
13. april 2002 - 19:52 #3
Avatar billede jakobgt Nybegynder
13. april 2002 - 19:54 #4
Nu har jeg ikke erfaring med apachehtdocsuptime.exe, men kan du ikke bare prøve kun at køre apachehtdocsuptime.exe.

Hvis scriptet ser fuldstændig ud som det du har skrevet, kan det godt være $fp=@fopen($host,"r"); der er problemet, da den jo skal vente på at minip svarer (hvilket den selvfølgelig ikke gør).
Avatar billede cool-wil Nybegynder
13. april 2002 - 19:55 #5
jeg har p.t en 960/128
det har jo vel også noget at gøre med det, men det kan da ikke passe at sådan et lille script, kan tage så lang tid at loade..
min disk er stor nok:-) +3 gb
og nej den er ikke fyldt ud...

kigger lige på fsockopen( fatter ikke meget af php endnu, men måske kunne jeg finde en løsning der)
Avatar billede cool-wil Nybegynder
13. april 2002 - 19:56 #6
apachehtdocsuptime.exe skulle være c:\apache\htdocs\uptime.exe :-) men det viser den i den alm fil...
Avatar billede cool-wil Nybegynder
13. april 2002 - 19:57 #7
minip er selvfølgelig lavet om til min ip:-)
Avatar billede sukos Juniormester
13. april 2002 - 19:57 #8
Og hvad hvis du skriver localhost? I stedet for din ip.
Avatar billede cool-wil Nybegynder
13. april 2002 - 19:58 #9
prøver lige:-)
kan den så sez udefra?

jeg har ikke lige nogle flere ram at fylde i:-) derfor, men uptime.exe er meget meget lille..og burde ikke kunne tage en mb ram
Avatar billede cool-wil Nybegynder
13. april 2002 - 19:59 #10
f.eks. http://localhost ??
Avatar billede 12705 Nybegynder
13. april 2002 - 19:59 #11
brug www.xitami.com der kan du sætte speeden på når at du installere den
Avatar billede 12705 Nybegynder
13. april 2002 - 20:00 #12
kan bædre lide xitami en apache
Avatar billede cool-wil Nybegynder
13. april 2002 - 20:01 #13
nu syntes jeg at apache opfylder mine krav...
problemet er dette ene script, alt andet går fint nok..
Avatar billede cool-wil Nybegynder
13. april 2002 - 20:04 #14
jakobgt> hvad kan jeg bruge i stedet for $fp=@fopen($host,"r");
Avatar billede jakoba Nybegynder
13. april 2002 - 20:07 #15
hvad med at sætte nogen
  echo "tid: " .microtime() ."\n";
linier ind så du får en ide om HVOR i scriptet al tiden bliver brugt?

Jeg tipper det er din
  $fp = fopen($host,"r");
med det er blot gætteri.

mvh JakobA
Avatar billede cool-wil Nybegynder
13. april 2002 - 20:09 #16
kunne du evt. lige skære det ud i pap, indsætte det der mircotime i mit script? jeg er somsagt ikke mester i php:-)
Avatar billede jakobgt Nybegynder
13. april 2002 - 20:15 #17
Som sukos skriver kan du bruge fsockopen ().
Har du prøvet kun at køre exec("c:apachehtdocsuptime.exe")?
Avatar billede jakoba Nybegynder
13. april 2002 - 20:45 #18
du tager blot linien:

  echo "tid: " .microtime() ."\n";

og cut&paster den ind imellem de andre linier i scriptet her og der.

så bliver der skrevet linier med
tid: <stort tal>
og forskellen på de tal der kommer fortæller hvorlang tild der er gået siden sidste linie. og på den måde kan vi finde ud af hvilken linie der tager tiden.

hvis ikke fsockopen() har løst det forinden :-))

mvh JakobA
Avatar billede cool-wil Nybegynder
13. april 2002 - 22:04 #19
<?php
$uptime = exec("c:\apache\htdocs\uptime.exe");
echo "tid: " .microtime() ."\n";
giver =0.89092400 987065811


<?php
$host = "http://212.242.118.69";
$fp=@fopen($host,"r");
echo "tid: " .microtime() ."\n";
giver= 0.71228600 987065817
Avatar billede cool-wil Nybegynder
13. april 2002 - 22:05 #20
vil du have flere?
eller kan du se noget ud fra dem?

kan du evt. komme med et eksempel på fsock ? og dur det på windows 98?
Avatar billede cool-wil Nybegynder
25. april 2002 - 20:23 #21
smid nogle svar ud, så vi kan få lukket dette spm ned
Avatar billede jakobgt Nybegynder
26. april 2002 - 17:58 #22
Ja, jeg ved ikke om du kunne bruge min hjælp, men her er da et svar, hvis du kunne. ;-)
Avatar billede jakobgt Nybegynder
26. april 2002 - 17:58 #23
Pis, det skulle være et svar. ;-)
Avatar billede jakobgt Nybegynder
07. maj 2002 - 22:09 #24
takker...
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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