DEBUG - Error Creating New Session »  Show posts from    to     

Icy Phoenix


Documentation And How To - DEBUG - Error Creating New Session



Zuker [ Thu 05 Apr, 2007 15:38 ]
Post subject: DEBUG - Error Creating New Session
If you are told that phpbb_session table is full and must be empty manually.

Untill you don't have problem with sessions, you shoudn't touch anything but if you want to prevent any problem, apply it

OPEN:

Code: [Hide] [Select]
include/sessions.php


FIND:

Code: [Hide] [Select]
message_die(CRITICAL_ERROR, 'Error creating new session', '', __LINE__, __FILE__, $sql);


REPLACE WITH:

Code: [Hide] [Select]
$error = TRUE;
$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"] > 550)
{
$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);
}


Mighty Gorgon [ Sun 08 Apr, 2007 11:34 ]
Post subject: Re: Error Creating New Session
I've edited the code to Icy Phoenix.

Anyway you may even decide to convert the table from HEAP to MyISAM.

HEAP type has the advantage to remain loaded in memory, so SQL are a bit faster, but MyISAM should not have the problem listed above.

I use MyISAM...




Powered by Icy Phoenix