Andreas: Interpretation von Apache Error-Meldungen

Hallo!

Ich habe einen mit total schleierhaften 500er Error auf meinem Apache. Ich kann es mir schlicht nicht erklären. Womöglich das ich zuviel RAM verbrauch oder sowas, ich habe folgendes in den Logs stehen.

HTTP/1.1" 500

soweit klar, aber das bringt ja noch nicht viel, wahrscheinlich sagt die Zahl danach mehr aus:

1686

Nur was? Ich habe ein wenig in der Apache Doku gesucht, da habe ich nirgends ne "Übersetzungstabelle" gefunden.

Komplette Log-Files Eintrag:

80.133.136.80 - - [27/Jun/2002:03:38:13 +0200] "POST /thread.php?id=4&PHPSESSID=0fe6933854341959f5a365d1333bf6fc HTTP/1.1" 500 1686 "http://forum.knet-systems.de/thread.php?id=4&PHPSESSID=0fe6933854341959f5a365d1333bf6fc" "Mozilla/5.0 (Windows; U; Windows NT 5.0; de-DE; rv:1.0rc2) Gecko/20020512 Netscape/7.0b1"

Hier sind doch ein paar echte Apache-Profis, wer kann mir da weitehelfen?

Viele Grüße
Andreas

  1. 80.133.136.80 - - [27/Jun/2002:03:38:13 +0200] "POST /thread.php?id=4&PHPSESSID=0fe6933854341959f5a365d1333bf6fc HTTP/1.1" 500 1686 "http://forum.knet-systems.de/thread.php?id=4&PHPSESSID=0fe6933854341959f5a365d1333bf6fc" "Mozilla/5.0 (Windows; U; Windows NT 5.0; de-DE; rv:1.0rc2) Gecko/20020512 Netscape/7.0b1"

    1686 ist die Größe des usgelieferten Dokuments.
    BTW, das sieht nicht aus wie ein error-log, sondern wie das access-log.
    Schau noch mal genau in der log-Verzeichnis. In der error-log stehen nämlich die wirklich interessanten Sachen über solche Fehler.

    cu, Sascha

    1. Hallo!
      Ja, Ihr habt Recht, aber leider habe ich nur auf diese direkten Zugriff. Also ich kann das ja mal schildern, was genau passiert, und zwar beim ausführen des besagten PHP-Scriptes:

      http://forum.knet-systems.de/thread.php?id=4

      Hab mir heute Nacht mal ein eigenes kleines Forum geschrieben ;-)
      Bei diesem Thread, seitdem ca. 80 Postings gespeichert(mysql) wurden, wird beim Abschicken eines neuen Postings immer ein 500er Error erzeugt. Aber erst nachdem das Posting aingetragen, und entsprechend eine Bestätigungsmail rausgegangen ist.

      Folgender Thread sollte noch normal gehen:
      http://forum.knet-systems.de/thread.php?id=5

      Wenn ich folgenden Code, der NACH dem Eintag in die DB ausgeführt wird auskommentiere, geht es auch:

      $result = query("
       SELECT DISTINCT
        t2.UID AS UID,
        t2.Name AS Name,
        t2.email AS email
       FROM f_postings AS t1
        LEFT JOIN f_user AS t2
         ON t1.UID = t2.UID
        WHERE t1.TID='$id'
        AND t1.UID != '$UID'");
      /************************************************************
       while ($maildaten = mysql_fetch_array($result)){

      # if($UID != $maildaten["UID"]){

      $email_uid = $maildaten["UID"];
         $email_name = $maildaten["Name"];
         $email_adr = $maildaten["email"];

      $subject = "Antwort eingegangen: ".$thread_titel;

      $message .= "Hallo $email_name!\n\n\n";
         $message .= "Im Thread "$thread_titel" ist eine neue Nachricht von $name eingegangen!\n\n\n";
         $message .= "Nachzulesen unter: http://forum.knet-systems.de/thread.php?id=$id&UID=$email_uid#posting$postingID\n";

      mail("$email_adr", "$subject", "$message", "From: akorthaus@web.de (Diskussionsforum)\nReply-To: akorthaus@web.de");
       # }
       }
      *******************************************************/

      Ich weiß, das sind nur Auschnitte, aber ich weiß einfach nicht weiter! Obige SQL-Abfrage sollte nur 1 oder 2 Zeilen zurückgeben, also auch nicht wirklich schlimm!

      Viele Grüße
      Andreas

      1. Hallo,

        ... Wenn ich folgenden Code, der NACH dem Eintag in die DB ausgeführt wird auskommentiere, geht es auch:

        $result = query("
        SELECT DISTINCT
          t2.UID AS UID,
          t2.Name AS Name,
          t2.email AS email
        FROM f_postings AS t1
          LEFT JOIN f_user AS t2
           ON t1.UID = t2.UID
          WHERE t1.TID='$id'
          AND t1.UID != '$UID'");
        /************************************************************
        while ($maildaten = mysql_fetch_array($result)){

        ....

        Es müsste doch heissen:
        $result = mysql_query("SELECT...

        statt
        $result = query("SELECT...

        HTH & Gruß,
        paschef

  2. Hallo Andreas,

    80.133.136.80 - - [27/Jun/2002:03:38:13 +0200] "POST /thread.php?id=4&PHPSESSID=0fe6933854341959f5a365d1333bf6fc HTTP/1.1" 500 1686 "http://forum.knet-systems.de/thread.php?id=4&PHPSESSID=0fe6933854341959f5a365d1333bf6fc" "Mozilla/5.0 (Windows; U; Windows NT 5.0; de-DE; rv:1.0rc2) Gecko/20020512 Netscape/7.0b1"

    IP Username Weissichgeradenicht Zeitstempel Methode Ressource HTTP-Version Statuscode Bytegröße Useragent

    so ungefähr ist wohl Dein Logfile aufgebaut, d.h. die 1686 bedeutet
    die Größe der angeforderten Ressource in Byte. Eventuell steht was
    Brauchbares im Errorlog, kannst Du da mal nachschauen?
    Ansonsten kann man aus der geposteten Zeile keine Rückschlüsse über
    den aufgetretenen Fehler oder gar dessen Ursache ziehen.

    Viele Grüße,
    Stefan

  3. HTTP/1.1" 500

    Statuscode 500:
    "Internal Server Error"

    Mehr kann ich leider auch nicht sagen.

    Clemens