ich habe seit der Umstellung von mysql 4.0.21 auf mysql 5.0.26 Probleme mit der Session Tabelle. Diese läuft immer voll, so dass es zu einer Fehlermeldung kommt. Ich verwende immer noch 2.0.3 im operativen Betrieb, wird aber in einigen Wochen durch phpBb3 ersetzt. Bis dahin sollte das alte Forum aber ohne Fehler laufen, ich kann ja nicht jeden Tag die Tabelle von Hand leeren. Ich habe den Codeteil drinnen, ist hier auch beschrieben:
Code: Alles auswählen
		// sesion table error fix	
		$error = TRUE;
		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);
		}
		//---
Gruß Helmut
 
 