Mailinglisten-Archive |
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::bar PHP Wiki - Listenarchive