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

Manuel Görlich m.goerlich1990 at googlemail.com
Do Jun 16 17:23:41 CEST 2011


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