Seite 2 von 2

Verfasst: 22.10.2005 13:11
von gott
du kannst die Datei doch verlinken

ansonsten reicht auch ein Ausschnitt - bes. um die Zeilen 190 rum..

Verfasst: 22.10.2005 13:14
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); 
}
		}
	}

Verfasst: 22.10.2005 13:26
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);
      }

Verfasst: 22.10.2005 13:27
von Markus67
Hi ...

hast du das hier schon versucht?
KB:mysql_open_file

Markus

Verfasst: 25.10.2005 17:11
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