Avatar billede Slettet bruger
11. marts 2014 - 22:27 Der er 6 kommentarer

Fejl ved brug af fsockopen

Jeg har følgende stript til at tjekke en server, men hvis den ikke svare for jeg en fejl tekst ud og ikke kun boksen.

Har ændret server ip med google her.

<?php
if(fsockopen("www.google.com",80,$errno,$errstr,15)){
  echo '<button class="btn btn-success" disabled="disabled"><i class="fa fa-check"></i><font color="#008000">Online</font></button>';
} else {
  echo '<button class="btn btn-danger" disabled="disabled"><i class="fa fa-exclamation-triangle"></i><font color="#FF0000">Offline</font></button>';
}
?>

Fejlen som kommer hvis serveren ikke er oppe.

Warning: fsockopen() [function.fsockopen]: unable to connect to www.google.com:80 (Connection timed out) in /home/google.php on line 2
Avatar billede erikjacobsen Ekspert
11. marts 2014 - 22:39 #1
Prøv

if(@fsockopen("www.google.com",80,$errno,$errstr,15)){
Avatar billede arne_v Ekspert
11. marts 2014 - 23:43 #2
Men hvorfor ikke bruge noget som sender en valid HTTP request og lukker paent.

Aabne en socket paa port 80, ikke sende noget og ikke lukke er ikke paent overfor serveren.
Avatar billede jakobdo Ekspert
12. marts 2014 - 09:52 #3
Hvad med at overveje: http://dk.php.net/get_headers
At en side svarer på port 80, er jo ikke det samme som at siden er online eller ej.
Avatar billede Slettet bruger
12. marts 2014 - 20:44 #4
Ja det @ virkede :-)

Skriv et svar så får du point.
Avatar billede Slettet bruger
12. marts 2014 - 20:48 #5
Arne det er en servere som køre via GPRS, så det er bare for at se om der er forbindelse.

Har ikke så meget forstand på php, må indrømme jeg fandt dette script og har kun ændret det lidt.
Avatar billede arne_v Ekspert
13. marts 2014 - 01:52 #6
Der er masser af funktioner i PHP som kan sende korrekte HTTP requests.
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