Ankündigung

Einklappen
Keine Ankündigung bisher.

if / else if etc. klappt nicht

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • if / else if etc. klappt nicht

    Hi,

    ich würde gern mein Apachen überwachen, da dieser sich ab und zu mal festrammelt.

    Mein Wunschablauf soll folgendes sein.

    Code:
    * Rufe Website auf und schaue, ob "IO" zurückkommt
          Wenn dies Fehlschlägt, dann mache erstmal ein "reload" (Softrestart)
          Prüfe dann nochmal, ob der "reload" erfolgreich war
             Wenn nicht, dann kille apachen + mach n restart.
             Prüfe wieder, ob diese Methode erfolgreicher war
      Klappt das auch nicht, dann gebe auf und sende Alert-Email

    Hier jetzt mal nur mit if Anweisungen. Habe aber auch schon mit else if versucht.
    Da bekomme ich aber:
    PHP Parse error: syntax error, unexpected T_ELSE in ../check.php on line 15

    oder Zeile 51... jenachdem, wo ich das else if hingesetzt habe
    PHP-Code:
    #!/usr/bin/php -q

    <?php
    $url 
    'http://datei.php';
    $emailaddy 'info@domain.de';
    $daten=file_get_contents($url);

    #echo $daten;

    if ($daten != 'IO')
        {
          
    shell_exec("/etc/init.d/apache2 reload");
          
            
    $daten=file_get_contents($url);
            if (
    $daten == 'IO')
                {  
                    
    Code für Emailversand
                
    }
                

                    
    shell_exec("/usr/sbin/apache2ctl -k stop");
                  
    shell_exec("/etc/init.d/apache2 restart");
                  
    $daten=file_get_contents($url);
                  
            if (
    $daten == 'IO')    ## Apachen mittels RELOAD-Befehl ist festgeschlagen. Muß zwangsweise RESTART verwenden
                
    {  
                    
    Code für Emailversand
                
    }
            
            else     
    ##Apachen wiederbelebung war weder per RELOAD noch per RESTART erfolgreich. FAILED-Email
                
    {  
                    
    Code für Emailversand
                
    }
        }    
    ?>


  • #2
    Wer soll denn das Script abarbeiten, wenn der Apache down ist?
    --

    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


    --

    Kommentar


    • #3
      #!/usr/bin/php -q

      Hast du sicherlich Ignoriert
      Also Cron übernimmt das.

      Kommentar


      • #4
        Stimmt

        Frage, wie sollen wir den Fehler finden, wenn oben nur Pseudocode steht. Erst recht wo in Zeile 15 kein else steht.
        --

        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


        --

        Kommentar


        • #5
          Ich sehe nirgendwo ein else if und wo sind die entsprechenden Zeilen? Und ein Parse-Error unter PHP-Fortgeschrittene???

          Kommentar


          • #6
            @admin = Bitte mal in Anfänger verschieben. Hab mich da verklickt.

            Code für Emailversand = ist nur ein Platzhalter. Da steht halt PHP Code drin, wo eine Email versendet wird... immer mit ein anderen Content. Da liegt aber nicht das Problem... denn das Funktioniert. Nur muß ich euch damit nicht belasten.

            Erst recht wo in Zeile 15 kein else steht.
            Nochmal sorry. Hab meine überflüssigen Gedankengänge alias Kommentare rausgelöscht.
            Drum sind die 2 Zeilen nach oben gerutzsch.

            ICH dachte mir:

            Code:
            IF (Apache Tot)
            {
               dann mache ein Reload
               Prüfe erneut
              
               if (Apache immer noch tot)
               dann mache ein hart-Restart
               Prüfe erneut
            
               if (Apache immer noch tot)
               gebe auf und versende Email
            }
            Also in ein IF erfolgen weitere Abfragen.
            Im Haupt-IF habe ich dann schonmal im else if getest... aber das klappt auch nicht.

            Kommentar


            • #7
              PHP-Code:
              if ()
                {
                }
              else
                {
                } 
              das ist die Syntax. Der Rest Deiner Aussagen ist kryptisch.

              [MOD: verschoben]
              --

              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


              --

              Kommentar


              • #8
                Du kannst ja auch mal nach anderen Scripten googlen. Stichwort: Watchdog oder Deamon

                Kommentar

                Lädt...
                X