При работе с сайтом Joomla вы получили сообщение о такой ошибке: jtablesession::StoreFailed DB function failed with error number….. Разберем, что это за ошибки и как ее исправить на двух примерах.

Про Ошибки в таблице сессий базы данных

Сообщения сервера начинающиеся с jtablesession::StoreFailed, DB function failed error это ошибки в таблице сессий базы данных. Далее в тексте сообщения следует разъяснение ошибки, а из разъяснения понятны и пути исправления. Невозможно предвидеть все возможные ошибки, можно понять принцип их исправления. Рассмотрим три примера ошибок jtablesession::Store Failed, DB function failed error.

Ошибка доступа к таблице сессий базы данных

jtablesession::Store Failed DB function failed with error number 1146 Table 'database_name.jos_session' doesn't exist SQL=INSERT INTO `jos_session` (`session_id`,`time`,`username`,`gid`,`guest`,`client_id` ) VALUES ('eb894feb5ff2dcc5f12cfc43f071fd8d','1270548439','','0','1','0' )

Анализ ошибки

Из перевода сообщения видим, что это ошибка доступа (doesn'texist). Происходит она в таблице [jos_session]. Произошла она при попытке оператора SQL=INSERTINTRO вставить в таблицу, значения VALUES.

Исправление ошибки

  • Проверьте префикс таблицы. Он должен совпадать с префиксом таблиц БД указанным в файле configuration.php в строке: public $dbprefix =
  • Проверить наличие в базе данных таблицы [jos_session]
  • Если таблица отсутствует, попробуйте ее восстановить. Для этого сделайте SQL запрос к БД следующего вида:
REPAIR TABLE jos_session;
  • Если таблица не восстанавливается и у вас есть резервная копия базы данных в формате SQL, то удалите существующую базу данных и импортируйте резервную копию БД.
  • Если таблицы [jos_session] нет нигде, придется ее импортировать из дефолтной базы данных, дефолтного дистрибутива Joomla.

Важно! После операций по исправлению ошибок не забывайте чистить кеш сайта.

Ошибка таблица помечена как испорченная и должна быть восстановлена

Внешний вид ошибки

jtablesession::Store Failed DB function failed with error number XXXX Table '.\s_\jos_session' is marked as crashed and should be repaired SQL=INSERT INTO `jos_session` (`session_id`,`time`,`username`,`gid`,`guest`,`clie nt_id` ) VALUES ( 'c4kkidl1t855gihmkfliksdhd5','1218284376','','0',' 1','0' )

Анализ ошибки

Простой перевод сообщения об ошибке дает ответ на вопрос что произошло: is marked as crashed and should be repaired. Не много немало, таблица повреждена, ее нужно восстановить.

Исправление ошибки

Востанавливаем таблицу инструментом phpMyAdmin

  1. Войти в панель phpMyAdmin на сервере;
  2. Открыть базу данных сайта;
  3. Найти таблицу [_session] ;
  4. Выделить таблицу флажком и внизу в «С отмеченными: «выбрать «Восстановить таблицу».

Делаем SQL запрос на восстановление этой таблицы

REPAIR TABLE jos_session;

Не помогло, восстанавливаем базу данных полностью

Для этого нужно иметь SQL формат резервной копии базы данных (рабочую), импортированную ранее. Существующую базу данных удаляем и Импортируем резервную копию базы данных.

Нет резервной копии, создаем таблицу заново

Удалите таблицу [jos_session];

Создайте таблицу заново. Для создания таблицы [jos_session] заново, выполнити следующий SQL скрипт (скрипт проверен). На вкладке SQL запрос, сделайте следующий запрос:

CREATE TABLE `jos_session` (
  `username` varchar(150) default '',
  `time` varchar(14) default '',
  `session_id` varchar(200) NOT NULL default '0',
  `guest` tinyint(4) default '1',
  `userid` int(11) default '0',
  `usertype` varchar(50) default '',
  `gid` tinyint(3) unsigned NOT NULL default '0',
  `client_id` tinyint(3) unsigned NOT NULL default '0',
  `data` longtext,
  PRIMARY KEY  (`session_id`(64)),
  KEY `whosonline` (`guest`,`usertype`),
  KEY `userid` (`userid`),
  KEY `time` (`time`)
) TYPE=MyISAM CHARACTER SET `utf8`; 

Важно! После операций по исправлению ошибок не забывайте чистить кеш сайта.

Что делать если ошибка после исправления возвращается назад

Если после исправления ошибки, через некоторое время ошибка появляется заново значит в системе установлено расширение, которое эту ошибку вызывает. Исправление: искать проблемное расширение методом исключения.

На этом про Ошибки в таблице сессий базы данных, jtablesession все.

Советы дня

  • Пользуйтесь для исправления ошибок в БД инструментами phpMyAdmin, от простого к сложному.
  • Периодически делайте резервную копию БД в формате SQL, используя Экспорт phpMyAdmin.

©Joomla-abc.ru

Другие ошибки Joomla

 

Похожие статьи

Критическая ошибка соединения с баз...
Критическая ошибка соединения с баз...
Критическая ошибка соединения с баз...

Критическая ошибка соединения с базой данных, DatabaseError.Невозможность с...

Превышен временной лимит выполнения...
Превышен временной лимит выполнения...
Превышен временной лимит выполнения...

Ошибка Fatal error: Maximum execution time of 30 seconds exceeded in... или...

Fatal error: Call to a member funct...
Fatal error: Call to a member funct...
Fatal error: Call to a member funct...

После обновления Joomla 2.5.28 до версии Joomla 3.3.6 я получил ошибку Fata...

Copyright © 2023 Joomla-abc.ru. Все права защищены.