your site wrote: DEBUG MODE
SQL Error : 1114 The table 'forum_sessions' is full
INSERT INTO forum_sessions (session
phpBB : Critical Error
Error creating new session
DEBUG MODE
SQL Error : 1114 The table 'forum_sessions' is full
INSERT INTO forum_sessions (session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in) VALUES ('b5921bd4845ea4a81ede099db7f0bb60', -1, 1031390173, 1031390173, 'd9887970', 0, 0)
Line : 152
File : /www/S/sdegroote/web/www.f1technical.net/forum/includes/sessions.php
Code: Select all
in sessions.php, find
message_die(CRITICAL_ERROR, 'Error creating new session', '', __LINE__, __FILE__, $sql);
remplace by :
$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);
}
primedomain wrote:your site wrote:DEBUG MODE
SQL Error : 1114 The table 'forum_sessions' is full
INSERT INTO forum_sessions (session
You need a database administration tool, e.g. www.phpmyadmin.net
1) backup your database
- phpmyadmin --> click on the database name (below "home") --> scroll down to "View dump (schema) of database". Mark all tables (or only the table forum_sessions) in the list. Check "structure and data". Check "add drop tables" , "complete inserts" and "save as file" (you may use compression, but if your database is pretty big, you will probably get a timeout).
If you have shell access to your server (telnet / ssh), take a look at this topic: http://www.phpbb.com/phpBB/viewtopic.ph ... =mysqldump
2) phpmyadmin --> click on the name of the database (below "home") --> main frame --> mark the checkbox next to forum_sessions, scroll down: drop down menu: select "empty" (NOT DROP!)
There is no removal process, thats why. Ashe's fix is a solution, but IMO, it'll be better of clearing old sessions out. Paul said for the 2.0.x branch no session clearing routines will be in (2.2 will have) so busy board with have a filled table. If you'd like, I did make a post somewhere with some code to limit 5 sessions per IP, but on large boards this may not be practical (Same IP/Multiple users). The main problem is with users with no cookie support, each time they visit the site, a row is inserted for the session, and the row is never deleted so hundreds/thousands+ of session rows are left.primedomain wrote: but the removal process sometimes doesn't seem to work properly for some users. Might be a phpBB? mySQL? bug, I don't know.