Hallo, da ich im PHP Forum noch nichts erfahren habe, versuche ich es mal hier : meine Hardware : Atmega32 + U.Radig Webserver / Isa-Card kurz: (AVR Webserver) der Webserver läuft prima, Hardsoftware und Software ok damit der Webserver von aussen (WWW) erreichbar ist, habe ich ein DYN??? eingerichtet, auch ok, funktioniert prima. ######### nun soll auf meiner Homepage ein PHP-Skript überprüfen, ob der Webserver bzw. die HTML Seite des Webservers online ist. obwohl der Webserver online ist, kommt die "Meldung" "Server offline". Php Skript Auszug 3 X : test 1: $fp = fsockopen("www.URLmeineHOMEpage.de",80, &$errno, &$errstr,30);<--- Funktioniert test 2: $fp = fsockopen("www.URLdesWEBSERVER.com",80, &$errno, &$errstr,30);<--- Funktioniert NICHT ! test 3: $fp = fsockopen("www.google.com",80, &$errno, &$errstr,30);<--- Funktioniert für einen Tip wäre ich dankbar Stephan
Eine Idee dazu, die meistens übersehen wird: Dein Webserver steht ja bestimmt hinter einer Firewall in deinem eigenen Netz. Wenn dies so ist, sollte diese auch entsprechend konfiguriert sein, dass Pakete durchgelassen werden. Zauberwort heißt in dem Fall u.a. auch NAT. Grüße Uwe
Hallo hab gerade die Firewall deaktiviert ,-> immer noch nichts gelesen : http://www.openbsd.org/faq/pf/de/nat.html#ipfwd und nicht verstanden dennoch Danke
Also siehe oben: meine Hardware : Atmega32 + U.Radig Webserver / Isa-Card kurz: (AVR Webserver) der Webserver läuft prima, Hardsoftware und Software ok damit der Webserver von aussen (WWW) erreichbar ist, habe ich ein DYN??? eingerichtet, auch ok, funktioniert prima. Portfreigabe in der Fritzbox eingerichtet: Port 80 alles prima nur das Php-Skript sagt : alle Url(s) sind erreichbar, nur dein Webserver nicht über einen Browser kann ich von Timbukto den Webserver auch erreichen, getestet leider nur aus Wuppertal (mein Bruder hat getan) Stephan
Wenn der Server von "aussen" erreichbar ist über Dyndns oder ähnliches und im Router auch die DMZ (sprich Anfragen vom Inet werden an die DMZ IP weitergeleitet) eingerichtet ist, dann sollte es klappen ... Die Prüfung per ping schaut aber nur, ob der Router online ist .... Bleibt zu klären, ob überhaupt der Server hinter nem Router hängt ... Grüße, Michael
OK, mal prinzipiell: Ich gehe mal davon aus, dass dein Webserver nicht direkt an deinem Internetanschluß hängt und direkt mit dem Inernet kommuniziert. Die übliche Konstellation ist doch folgende: Zwischen Internet und deinem internen Netz befindet sich ein Router. Zur Internetseite hin bekommt er (meist dynamisch) eine IP-Adresse von deinem Provider. Zu deinem internen Netz eine IP-Adresse aus deinem Netz. Ich gebe ebenfalls mal davon aus, dass dein Webserver in deinem internen Netz steht und auch eine IP aus diesem hat. Zum Internet hin ist nur die IP-Adresse, die du vom Provider zugewiesen bekommen hast, bekannt. Wenn du aus dem Internet deinen AVR in deinem Netz ansprechen willst, müssen die Adressen "übersetzt" werden. In der Regel gibt es dazu auf den Routern NAT (network adress translation), was wie folgt funktioniert: Vom Internet kommt ein Datenpaket an die IP deines Routers mit einer bestimmten Port-Adresse (bei dir z.B. Port 80). NAT auf dem Router muß nun so konfiguriert sein, dass alles, was für Port 80 ist, an die interne IP-Adresse des AVR gesendet wird. Es wird also Internet-IP in interne IP übersetzt... Die Geschichte mit DYN... auf dem AVR ist eigentlich nicht notwendig. Vielmehr sollte soetwas dein Router machen... Grüße Uwe
Ich denke mal das die Dyn... Geschichte schon auf dem Router läuft, denn anders machts wenig Sinn. Wenn der Router mit dem Inet verbindet und sich eine IP vom Provider bekommt, dann trägt der Router diese IP wiederum beim Dynamic DNS Dienst ein und man kann den Router unter URLdesWEBSERVER.com erreichen. Jetzt muss eben noch der Router die Weiterleitung an den wohl mit lokaler IP versehenen Webserver vornehmen und das funzt mit dem Einrichten einer DMZ (Demilitarized zone) Grüße, Michael
Frage : Die Prüfung per ping schaut aber nur, ob der Router online ist .... Ping URLdesWEBSERVER.com war ok am Promt kam noch die Info z.B 77.12.34.80 ok 77.12.34.80 im Browser eingegeben -> Mein Webserver meldet sich # Bleibt zu klären, ob überhaupt der Server hinter nem Router hängt ... -> er steht daneben # war ein Scherz Stephan
Wenn man mit einem Browser von ausserhalb an den Webserver kommt (wie ich das so rausgelesen habe) scheint das Problem eine andere Ursache zu haben. An einfachsten wäre es vielleicht zu testen was passiert, wenn man auf einem Rechner (ausserhalb) mit dem man per Browser auf den Webserver kommt, mit einem (lokalen) PHP-Script den gleichen Versuch macht. Gruß Jörg
Das ist doch schon mal wunderbar !! Auch wenn der Server NEBEN dem Router steht ;-) ! Zu Deinen Tests: Was für eine Fehlermeldung kommen denn bei: $fp = fsockopen("www.URLdesWEBSERVER.com",80, &$errno, &$errstr,30); bzw. versuch mal anstatt "www.URLdesWEBSERVER.com" die IP zu öffnen ...
Hast Du Dir einmal den Fehler + Fehlercode ausgeben lassen? $fp = fsockopen("www.example.com", 80, &$errno, &$errstr, 30); if (!$fp) { echo "$errstr ($errno)<br />\n"; }
Hallo, ich würde jetzt einfach mal vermuten, daß PHP bei fsockopen() etwas benutzt, was vom AVR-Webserver schlicht nicht unterstützt wird. Normalerweise würde ich jetzt das ganze local testen und WireShark mitlaufen zu lassen, um zu sehen, was der PHP-Server schickt und was der AVR antwortet oder eben auch nicht... Gruß aus Berlin Michael
########################## Hallo Michael U. (amiga) das PHP Skript läuft auf meiner Homepage, nicht auf dem Webserver dennoch Danke ############################## Hallo Michael K. (mmike) dein Tipp mit bzw. versuch mal anstatt "www.URLdesWEBSERVER.com" die IP zu öffnen ... war gut test 4: $fp = fsockopen("123.123.123.007",80, &$errno, &$errstr,30);<--- Funktioniert prima, danke nochmal es klappt aber... morgen habe ich ne andere IP, dynamisch eben. daher Dynorg und jetzt ? Stephan
Hm. Teilerfolg. Dann funzt irgendwas mit der Namensauflösung nicht .... schreib vllt. mal das Protokoll, also http:// davor ... welche Fehlermeldung steht denn in dem $errstr drin, wenn's nicht klappt ?
hallo Michael K. (mmike) $fp = fsockopen("http://URLmeineHOMEpage.de",80, &$errno, &$errstr,30); PHP Fehlermeldung : was ist String Http:// ? Stephan PS: kleine Pause, habe jetzt nen Excelkurs. wenn dann sonst nix ist Stephan
noch ne Möglichkeit: IP rausfinden mittels: gethostbyname("example.com"); und dann die IP connecten .... also $ServerIP = gethostbyname ("URLmeineHOMEpage.de"); $fp = fsockopen($ServerIP, 80, &$errno, &$errstr,30); Grüße, Michael
So ein aehnliches Problem hatte ich auch. Hole dir mal von der DYNDNS Homepage das Programm das die IP-Addresse bei DYNDNS eintraegt und installiere das mal. Neben der IP-Addresse traegt das auch noch was anderes bei DYNDNS ein . Die Eintragungen vom deinem Modem bei DYNDNS alleine reichen nicht. Wenn DYNDNS eine neue IP-Addresse von dir bekommt will es danach noch eine Bestaetigung das der Server Betriebsbereit ist. Jedenfalls war es bei mir so. Gruss Helmi
hallo Michael $ServerIP = gethostbyname ("URLmeineHOMEpage.de"); $fp = fsockopen($ServerIP, 80, &$errno, &$errstr,30); brachte keinen Erfolg, aber auch keine Fehlermeldung das auch ist manchmal viel Wert Seltsam: mit echo "$ServerIP<br />\n"; hätte ich 123.123.123.07 erwartet es kam aber Klartext: URLmeineHOMEpage.de Stephan
hallo Michael Es klappt !!!!!!! dein Text : $ServerIP = gethostbyname ("URLmeineHOMEpage.de"); $fp = fsockopen($ServerIP, 80, &$errno, &$errstr,30); meine Eingabe $ServerIP = gethostbyname ("www.URLmeineHOMEpage.de"); $fp = fsockopen($ServerIP, 80, &$errno, &$errstr,30); Fehlermeldung ohne www -> klappt prima Danke
au weia sollte sein hallo Michael Es klappt !!!!!!! dein Text : $ServerIP = gethostbyname ("URLdesWEBSERVER.com"); $fp = fsockopen($ServerIP, 80, &$errno, &$errstr,30); meine Eingabe $ServerIP = gethostbyname ("www.URLdesWEBSERVER.com"); $fp = fsockopen($ServerIP, 80, &$errno, &$errstr,30); Fehlermeldung ohne www -> klappt prima Danke
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.