На одном из сайтов возникла ошибка DB function failed with error number 126 при попытке зайти в менеджер категорий (/administrator/index.php?option=com_content) которую необходимо было решить.
Анализ запроса показал, что не хватает место в папке /tmp где MySQL создает временные таблицы. А на данном сайте около 2000 материалов - то есть объем информации довольно большой. Конечно, можно увеличить место, но если хостинг виртуальный то это не всегда возможно, да и нагрузка создается нешуточная, что совершенно неверно.
Поэтому я пошел по другому пути - а именно оптимизировать запрос, убрав из него все лишнее, минус только в том что данный хак является хаком.
Итак, решение - в файле /administrator/components/com_content/controller.php находим строчку (скорее всего строка 144 или рядом)
$query = 'SELECT c.*, g.name AS groupname, cc.title AS name, u.name AS editor, f.content_id AS frontpage, s.title AS section_name, v.name AS author' .
и заменяем ее на
$query = 'SELECT c.id, c.title, c.state, c.sectionid, c.mask, c.catid, c.created, c.created_by, c.created_by_alias, c.ordering, c.access, c.hits, g.name AS groupname, cc.title AS name, u.name AS editor, f.content_id AS frontpage, s.title AS section_name, v.name AS author' .
Ого, немало статей..думаю что в таком случае сайт хостится на ВДСке, а значит можно и увеличить немного размер временной папки (о чем я упомянал в статье).
Спасибо большое!!!
Цитата:
RSS лента комментариев этой записи