Critical Error - Error creating new session

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
gott

Beitrag von gott »

du kannst die Datei doch verlinken

ansonsten reicht auch ein Ausschnitt - bes. um die Zeilen 190 rum..
haig
Mitglied
Beiträge: 107
Registriert: 21.09.2004 09:07

Beitrag von haig »

Das sind die Zeilen 170 - 200:

Code: Alles auswählen

if (SQL_LAYER == "mysql" || SQL_LAYER == "mysql4") 
{ 
    $sql_error = $db->sql_error($result); 
    if ($sql_error["code"] == 1114) 
    { 
        $result = $db->sql_query('SHOW TABLE STATUS LIKE "'.SESSIONS_TABLE.'"'); 
        $row = $db->sql_fetchrow($result); 
        if ($row["Type"] == "HEAP") 
        { 
            if ($row["Rows"] > 2500) 
            { 
                $delete_order = (SQL_LAYER=="mysql4") ? " ORDER BY session_time ASC" : ""; 
                $db->sql_query("DELETE QUICK FROM ".SESSIONS_TABLE."$delete_order LIMIT 50"); 
            } 
            else 
            { 
                $db->sql_query("ALTER TABLE ".SESSIONS_TABLE." MAX_ROWS=".($row["Rows"]+50)); 
            } 
            if ($db->sql_query($sql)) 
            { 
                $error = FALSE; 
            } 
        } 
    } 
} 
if ($error) 
{ 
    message_die(CRITICAL_ERROR, "Error creating new session", "", __LINE__, __FILE__, $sql); 
}
		}
	}
gott

Beitrag von gott »

sieht es bei dir so aus?!so sollte es eigentlich sein:

Code: Alles auswählen


 list($sec, $usec) = explode(' ', microtime());
      mt_srand((float) $sec + ((float) $usec * 100000));
      $session_id = md5(uniqid(mt_rand(), true));

      $sql = "INSERT INTO " . SESSIONS_TABLE . "
         (session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in, session_admin)
         VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login, $admin)";
      if ( !$db->sql_query($sql) )
      {
         message_die(CRITICAL_ERROR, 'Error creating new session', '', __LINE__, __FILE__, $sql);
      }
Zuletzt geändert von gott am 22.10.2005 13:28, insgesamt 1-mal geändert.
Benutzeravatar
Markus67
Ehrenadmin
Beiträge: 28346
Registriert: 12.01.2004 16:02
Wohnort: Neuss
Kontaktdaten:

Beitrag von Markus67 »

Hi ...

hast du das hier schon versucht?
KB:mysql_open_file

Markus
haig
Mitglied
Beiträge: 107
Registriert: 21.09.2004 09:07

Beitrag von haig »

Hallo, ich hatte bei auftreten des Fehlers in MySQLAdmin eingegeben:

Code: Alles auswählen

INSERT INTO phpbb_sessions (session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in, SearchBot, session_admin) VALUES ('a599e30b37bdc0597c9f5292ae146966', -1, 1130252167, 1130252167, '54bca00f', 0, 0, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; de-DE; rv:1.7.12) Gecko/20050919 Firefox/1.0.7', 0)
und erhielt in SQL folgende Fehlermeldung:

Code: Alles auswählen

MySQL meldet: Dokumentation
#1114 - The table 'phpbb_sessions' is full
Wenn ich in meinem ACP über DB Maintenande oder über MySQLAdmin die Tabelle manuell leere, löse ich das Problem auch sofort. Ich hatte bisher in mein Forum den Mod eingearbeitet, der bisher erfolgreich die Tabelle [automatisch] leerte. Siehe: http://www.phpbb.de/doku/kb/artikel.php ... 27#problem
Seit einiger Zeit funktioniert es nicht mehr.

Gruss
heiko
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“