Ankündigung

Einklappen
Keine Ankündigung bisher.

Script beendet sich ohne Fehlermeldung

Einklappen

Neue Werbung 2019

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

  • Script beendet sich ohne Fehlermeldung

    Hallo Forum

    Ich habe ein Script geschrieben, das über die Konsole gestartet wird
    und dann im Hintergrund laufen soll. Zunächst war das ganze nur für den
    Eigengebrauch gedacht, da es auf einem Linux rootserver laufen sollte
    habe ich nach einer möglichst unkomplizierten Lösung gesucht, da ich
    noch nie Programme für Linux geschrieben habe. Da es nichts all zu
    aufwändiges ist, dachte ich ein PHP Script würde da völlig reichen.
    Habe vorher noch nie wirklich mit PHP gearbeitet, nur mal so kleine
    Spielereien wie Einheiten umrechnen etc
    Nunja, alles lief auch eigentlich recht gut, ich fand auch irgendwann
    raus, wie man die max execution time abschaltet.
    Nun war noch jemand anderes an dem Script interessiert, also habe ich
    es kurzerhand weiter gegeben. Nur läuft bei demjenigen das Script
    leider nicht problemlos. Nach unterschiedlichen Zeitspannen, meistens
    5-30 Minuten, manchmal aber 2-3 Tagen, beendet sich das Script dort
    einfach, ohne eine Fehlermeldung. Ich war bis jetzt immer der Meinung,
    ein php Script geht nicht einfach so "aus", sondern zeigt immer irgend
    eine Meldung an.
    Die Server laufen beide auf Debian, bei mir PHP 4.3.10-16, auf dem
    Problemserver 4.3.8
    Kann es daran schon liegen? php lässt sich wohl bei confixx nicht einfach
    so updaten (wurde mir zumindest gesagt), sonst hätte er das wohl schon
    mal probiert. Aber nur um zu sehen dass es daran nicht lag...

    Ich war wie gesagt bisher der Meinung, dass sich der php Prozess nicht
    einfach beendet, sondern immer irgend ein error oder warning oder
    sonst was rausschmeißt.

    Danke für eure Antworten

  • #2
    Hmmmm...also ich kann nicht gerade Helsehen, ich weiß auch nciht ob es irgeneiner aus diesem Forum kann.....vllt postest du uns einfach mal n bisschen Code?!

    Kommentar


    • #3
      Es wird nicht immer eine Warnung oder Meldung ausgegeben, es kommt drauf an ob das Error Reporting ein- oder ausgeschaltet ist: http://de2.php.net/error-reporting
      Darauf würde ich jetzt mal als erstes tippen

      Kommentar


      • #4
        Hallo und danke für eure Antworten

        @zwerg: Es sind ca. 700 Zeilen Code und ich hab keine Ahnung an
        welcher Stelle der Fehler liegen kann... Dachte das wär vllt ein bisschen
        viel Zumutung, dass jemand das alles durchsieht
        Aber wenn du schon fragst; es geht um die slow.php aus diesem Archiv
        Und bitte nicht lachen wenn das teilweise etwas unelegant gelöst ist

        @querfisch: Das Error Reporting wurde testweise schon in der php.ini
        auf ALL gestellt, leider kam nichts Zum Test ob auch wirklich Fehler
        angezeigt werden wurden schon absichtlich fehlerhafte Scripts gestartet.

        Kommentar


        • #5
          Notfalls musst du eben ein Log-File anlegen und nach jeder Bedingung, in jeder Funktion etc. einen Eintrag vornehmen, in dem du alle relevanten Variablenwerte speicherst.

          So pauschal kann dir keiner helfen.

          Kommentar


          • #6
            Hmhm, da graust es mir vor, dürfte viel Arbeit bedeuten, aber wenn nichts Anderes
            übrig bleibt...
            Meine kleine Hoffnung war irgendwie, dass vielleicht doch jemand schon mal so ein
            Problem hatte und einen Tipp geben könnte. Dann werd ich mich wohl mal weiter
            auf die oben genannte Art vorantasten

            Kommentar


            • #7
              Soviel Arbeit ist es auch wieder nicht.

              PHP-Code:
              <?php
              function logNow($fp$file$line)
              {
                 
              $vars get_defined_vars();
                 unset(
              $vars['_POST']);
                 unset(
              $vars['_SERVER']);
                 
              // ..was eben noch so irrelevant ist
                 
              fprintf($fp"%s;%s;%s:\n%s\n\n\n"microtime(), $file$lineprint_r($varstrue));
              }

              $fp fopen('log.txt''w'); // oder a, je nach dem
              // .. normales zeug
              if (bedingung) {
                
              logNow($fp__FILE____LINE__);
                
              // ...
              }
              // ...
              fclose($fp);
              ?>
              Die Datei kann natürlich immens schnell anwachsen und die
              Dateioperationen an sich sind natürlich auch noch mal eine
              Mehrbelastung. Aber dadurch solltest du das Problem eigentlich sehr gut
              eingrenzen können.

              Kommentar

              Lädt...
              X