Mailinglisten-Archive |
Hi Thomas, ja stimmt die Fehlerseite schickt ein 503 (hätt ich auch selber drauf kommen können -.-") danke für den Hinweis. Mfg Manuel Am Freitag den 17 Juni 2011 09:31:25 +0200 schrieb Thomas Koudela > > Hi. > > Prüf mal den Header der Fehlerseite. Wahrscheinlich sendet die einen > 503. Und möglicherweise wartet file_get_contents() in diesem Fall nicht > auf die HTML-Daten oder gibt sie nicht zurück. > > Beste Grüße, > Thomas > > > > -- > Thomas Koudela > Programmierdienstleistungen von A bis Web > > Mozartstraße 6 > D-45529 Hattingen > > (02324) 392320 > www.koudela.net > > > > Am Donnerstag, den 16.06.2011, 17:23 +0200 schrieb Manuel Görlich: > > Guten Tag, > > > > ich wollte mir mithilfe von PHP ein kleines Script schreiben welche mir den > > Online-Status eines Woltlab Burning Boards via "notify-send" meldet. > > Nun gibt es 3 Möglichkeiten: > > 1. Das Board ist online. > > 2. Das Board ist offline. > > 3. Das WBB wirft einen Fatal Error. > > > > Da im 3. Fall eine Seite mit genaueren Informationen zum Fehler angezeigt > > wird wobei der Titel der Seite immer dem Schema "Fatal error: > > $fehlermeldung" entspricht > > sollte die unterscheidung der verschiedenen Fällr ganz einfach sein. > > > > Ist die Seite erreichbar und der Titel entspricht nicht dem "Fatal > > error"-Schema ->1. Fall > > Ist die Seite erreichbar und der Titel ENTSPRICHT dem "Fatal error"-Schema > > -> 2. Fall > > Ist die Seite nicht erreichbar -> 3. Fall > > > > Nun dachte ich mir das das ganz via file_get_contents(), preg_match() > > schnell gelöst sei also habe ich mir folgendes Script geschrieben: > > > > ----Schnipp---- > > <?php > > $url = 'http://www.example.com/'; > > $content = @file_get_contents( $url ); > > > > if( $content !== false ) { > > if( preg_match( '{<title>Fatal error:\W.+</title>}', $content, $matches > > ) != 0 ) > > exec( 'notify-send -u normal "WBB Notifyer" "' . $url . ' meldet:' . > > strip_tags( $matches[0] ) . '"' ); > > } else { > > exec( 'notify-send -u critical "WBB Notifyer" "' . $url . ' ist > > offline!"' ); > > } > > ?> > > ----Schnapp---- > > > > Das ganze soll dann via Cronjob in regelmässigen abständen ausgeführt > > werden. > > > > Nun bekomme ich aber im 3. Fall immer die Meldung "WBB Notifyer: > > http://www.example.com/ ist offline!" und file_get_contents() wirft ein > > Warning es hätte ein "HTTP/1.0 503 Service Unavailable" empfangen. Im > > Browser ist die Seite allerdings erreichbar und mir wird die Fehlerseite des > > WBB angezeigt. > > Im 1. Fall funktioniert allerdings alles wunderbar genauso wie im 2. > > > > Das verwirrt mich nun etwas und ich hoffe einer von euch kann mich evtl. > > über dieses Verhalten aufklären. > > > > > > Mfg Manuel > > > > > > P.S.: Ich hoffe ich habe nicht zu wirr geschrieben ich habe versucht alles > > so genau wie möglich zu erklären :) > > > > ------------------------------ > > -- > php mailing list > php at phpbar.de > http://lists.phpbar.de/mailman/listinfo/php > > > Ende php Nachrichtensammlung, Band 96, Eintrag 3 > ************************************************
php::bar PHP Wiki - Listenarchive