качество и надёжность с 2008 года

8 (800) 200-25-11

Техническая поддержка support@komtet.ru —

круглосуточно и без выходных дней

load-whois

Онлайн-касса

для интернет-магазина

Подключите ваш интернет-магазин

к онлайн-кассе в соответствии с 54-ФЗ

Главная Техническая библиотека Языки программирования PHP Ошибка форума phpBB: Critical error. Error creating new session

Ошибка форума phpBB: Critical error. Error creating new session

Как исправить данную ошибку

Данная ошибка состоит в том, что форум phpBB, который Вы можете получить установив из Панели управления или отправив запрос Службе технической поддержки нашего хостинга, хранит в БД все сессии, не удаляя их, или удаляя с такой периодичностью, что, в конце концов, таблица сессий переполняется и форум выдаёт ошибку

"phpBB: Critical error. Error creating new session",

т.к. не может работать дальше с таким количеством сессий.

Чтобы устранить ошибку Вы должны выполнить следующие шаги:

  1. откройте корневую директорию форума
  2. откройте файл includes/sessions.php
  3. найдите строку 152
  4. замените эту строку

message_die(CRITICAL_ERROR,                       
'Error creating new session', '', __LINE__,       
__FILE__, $sql);                                  

на следующие:

$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);        
}                                                 

  1. сохраните файл и скопируйте на сервер, записав поверх существующего. Теперь Вы можете не волноваться за переполнение таблицы сессий в базе данных форума phpBB.

Вы всегда можете обратиться за помощью в Службу технической поддержки хостинга.

Клиентам — домены в подарок!
Бесплатный тест виртуального хостинга
Перенос сайта — бесплатно
Все акции
На сайте КОМТЕТ используются cookie-файлы, данные о IP-адресе и местоположении посетителей. Если, прочитав это сообщение, вы остаетесь на нашем сайте, это означает, что вы не возражаете против использования этих технологий.