phpbar.de logo

Mailinglisten-Archive

[php] fil_put_contents() liefert 503 Service Unavailable bei WBB Fehlermeldung

[php] fil_put_contents() liefert 503 Service Unavailable bei WBB Fehlermeldung

Thomas Koudela thomas at koudela.net
Fr Jun 17 09:31:25 CEST 2011


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