Программирование HTML Joomla: исправление проблемы с таблицей сессий Thu, November 21 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


Joomla: исправление проблемы с таблицей сессий Печать
Добавил(а) microsin   

На сайте возникла проблема добавлением записей в таблицу jos_session. Сообщение об ошибке говорило о том, что якобы превышен допустимый лимит выделения памяти.

jtablesession::store failed
DB function failed with error number 144
Table './utf8p4/jos_session' is marked as crashed and last (automatic?) repair failed SQL=INSERT INTO
 `jos_session` ( `session_id`,`time`,`username`,`gid`,`guest`,`client_id` ) VALUES (
 'ffce7ae980db05caa087e541a15128c4','1665196797','','0','1','1' )
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 71 bytes) in
 /var/www/имяпользователя/домен/libraries/joomla/error/exception.php on line 117

1. Первой мыслью было увеличить предел выделения памяти в php.ini. Однако увеличение ни до 512M (установка memory_limit = 512M), ни даже отключение лимита (memory_limit = -1) не помогли.

2. Попытка исправления таблиц запуском команд mysqlcheck и mysql_upgrade, все они завершались успешно, но ошибка оставалась.

mysqlcheck --check-upgrade --all-databases --auto-repair -u root -p
mysql_upgrade --force -u root -p

Решение нашел в статье [2]. Нужно заново пересоздать таблицу jos_session.

1. Зайдите в phpmyadmin, укажите логин и пароль MySQL для доступа к базе данным сайте.

2. У меня просмотр таблиц базы показал, что таблица jos_session "Используется". Выполните следующий скрипт MySQL:

#
# Table structure for table `jos_session`
#
DROP table IF EXISTS jos_session;
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`;
#
# Dumping data for table `mos_session`
#

[Ссылки]

1. Fatal Error Allowed Memory Size Exhausted site:stackoverflow.com.
2. How to fix jos_session error site:joomla.org.

 

Добавить комментарий


Защитный код
Обновить

Top of Page