XF 1.5 max_user_connections или Advanced Attachment System (AAS)

Статус
В этой теме нельзя размещать новые ответы.

elisovs

Проверенные
Сообщения
140
Реакции
28
Баллы
3,330
Доброго времени суток . Да я знаю про максимальный конект к базе . но тут вопрос в другом .
Совсем не давно удалил плагин под названием Advanced Attachment System (AAS)
Так вот из за него выходила ошибка которая описана и решена в этой теме .
Если в коротко то после удаления плагина остались хвосты в базе данных мешающие созданию раздела на форуме .
Хотя обратил внимание что ошибка max_user_connections появилась одновременно с той что описана в другой теме . А теперь самое интересное все ошибки max_user_connections связаны только с аттачами .
Прошу помощи .

Код:
Запись журнала ошибок сервера
Информация об ошибке
Zend_Db_Adapter_Mysqli_Exception: User elisovs1_only already has more than 'max_user_connections' active connections - library/Zend/Db/Adapter/Mysqli.php:333
Сгенерирована пользователем: Неизвестная учётная запись, Вчера, в 22:17
Трассировка стэка
#0 /home/elisovs1/public_html/site.ru/library/Zend/Db/Adapter/Abstract.php(315): Zend_Db_Adapter_Mysqli->_connect()
#1 /home/elisovs1/public_html/site.ru/library/XenForo/Application.php(730): Zend_Db_Adapter_Abstract->getConnection()
#2 [internal function]: XenForo_Application->loadDb(Object(Zend_Config))
#3 /home/elisovs1/public_html/site.ru/library/XenForo/Application.php(973): call_user_func_array(Array, Array)
#4 /home/elisovs1/public_html/site.ru/library/XenForo/Application.php(1004): XenForo_Application->lazyLoad('db', NULL)
#5 /home/elisovs1/public_html/site.ru/library/XenForo/Application.php(1609): XenForo_Application::get('db')
#6 /home/elisovs1/public_html/site.ru/library/XenForo/Model.php(161): XenForo_Application::getDb()
#7 /home/elisovs1/public_html/site.ru/library/XenForo/Model/DataRegistry.php(138): XenForo_Model->_getDb()
#8 /home/elisovs1/public_html/site.ru/library/XenForo/Model/DataRegistry.php(97): XenForo_Model_DataRegistry->_getMultiFromDb(Array)
#9 /home/elisovs1/public_html/site.ru/library/XenForo/Dependencies/Abstract.php(147): XenForo_Model_DataRegistry->getMulti(Array)
#10 /home/elisovs1/public_html/site.ru/library/XenForo/FrontController.php(127): XenForo_Dependencies_Abstract->preLoadData()
#11 /home/elisovs1/public_html/site.ru/index.php(13): XenForo_FrontController->run()
#12 {main}
Содержимое запроса
array(3) {
  ["url"] => string(48) "http://site.ru/attachments/ik6m1fq_ia4-jpg.9635/"
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(0) {
  }
}


Код:
Запись журнала ошибок сервера
Информация об ошибке
Zend_Db_Adapter_Mysqli_Exception: User elisovs1_only already has more than 'max_user_connections' active connections - library/Zend/Db/Adapter/Mysqli.php:333
Сгенерирована пользователем: Неизвестная учётная запись, Вчера, в 22:17
Трассировка стэка
#0 /home/elisovs1/public_html/site.ru/library/Zend/Db/Adapter/Abstract.php(315): Zend_Db_Adapter_Mysqli->_connect()
#1 /home/elisovs1/public_html/site.ru/library/XenForo/Application.php(730): Zend_Db_Adapter_Abstract->getConnection()
#2 [internal function]: XenForo_Application->loadDb(Object(Zend_Config))
#3 /home/elisovs1/public_html/site.ru/library/XenForo/Application.php(973): call_user_func_array(Array, Array)
#4 /home/elisovs1/public_html/site.ru/library/XenForo/Application.php(1004): XenForo_Application->lazyLoad('db', NULL)
#5 /home/elisovs1/public_html/site.ru/library/XenForo/Application.php(1609): XenForo_Application::get('db')
#6 /home/elisovs1/public_html/site.ru/library/XenForo/Model.php(161): XenForo_Application::getDb()
#7 /home/elisovs1/public_html/site.ru/library/XenForo/Model/DataRegistry.php(138): XenForo_Model->_getDb()
#8 /home/elisovs1/public_html/site.ru/library/XenForo/Model/DataRegistry.php(97): XenForo_Model_DataRegistry->_getMultiFromDb(Array)
#9 /home/elisovs1/public_html/site.ru/library/XenForo/Dependencies/Abstract.php(147): XenForo_Model_DataRegistry->getMulti(Array)
#10 /home/elisovs1/public_html/site.ru/library/XenForo/FrontController.php(127): XenForo_Dependencies_Abstract->preLoadData()
#11 /home/elisovs1/public_html/site.ru/index.php(13): XenForo_FrontController->run()
#12 {main}
Содержимое запроса
array(3) {
  ["url"] => string(95) "http://site.ru/attachments/forza_horizon_2016-game_high_quality_hd_wallpaper_1024x768-jpg.9726/"
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(0) {
  }
}

Все ошибки однотипные связанные только с аттачем и в сутки их около 15-30 шт при этом сайт работает нормально .
прикладываю скрины таблиц , посмотрите может что тут осталось от Advanced Attachment System (AAS) лишнего ?
img-2016-10-21-01-26-13.png img-2016-10-21-01-26-41.png img-2016-10-21-01-27-01.png


Вот сейчас что удалось найти в базе . Скажите это от Advanced Attachment System (AAS) ?

img-2016-10-21-01-47-41.png
эти таблицы как удалить чтобы что то не испортить ?
 
Последнее редактирование:
max_user_connections - это лимит числа соединений к базе, задается в my.cnf, допустимая величина косвенно зависит от объема свободной памяти, прямо в целом от железа.
Плагины добавляют свои запросы, помимо штатных запросов движка, поэтому можно вылезти за лимит с данной ошибкой.
Лечение - либо сервер подкручивать, либо аппетиты урезать.
 
Покажи значение переменной (можно в том же pma)

да 10ть там . вопрос про мусор от этого чуда плагина . и что ошибки все связаны только с аттачем . других нет
 
10? Даже дефолт идет 50. Не смотрел сколько запросов добавляет AAS, возможно он криво написан... Но с таким лимитом рано или поздно будешь менять хостера.
 
  • Мне нравится
Реакции: Hope
вот установочный файлик как я понял он создает таблицы и столбцы .
Код:
<?php

class phc_AttachmentPlus_Install extends XenForo_Model
{
    public static function Install()
    {
        // Check if old Addon "SEO ATTACHMENT NAME" exists
        if(self::_getATPModel()->checkIfSEOAttachmentNameExists())
        {
            throw new XenForo_Exception(new XenForo_Phrase('atp_please_remove_seo_attachment_name_addon'), true);
        }

        $db = XenForo_Application::getDb();

        $columns = self::_getColumns('xf_forum');
        if(!in_array('atp_override_attachment_options', $columns))
        {
            $db->query("
                    ALTER TABLE  `xf_forum`
                    ADD  `atp_override_attachment_options` tinyint(1) NOT NULL DEFAULT  '0',
                    ADD  `atp_attachment_max_file_size` INT NOT NULL DEFAULT  '1024',
                    ADD  `atp_attachment_max_per_message` INT NOT NULL DEFAULT  '10',
                    ADD  `atp_attachment_extensions` TEXT NOT NULL ,
                    ADD  `atp_attachment_max_dimensions` VARCHAR( 255 ) NOT NULL
                ");
        }

        if(!in_array('atp_dont_track_this_node', $columns))
        {
            $db->query("
                      ALTER TABLE  `xf_forum` ADD  `atp_dont_track_this_node` BOOLEAN NOT NULL DEFAULT FALSE ,
                      ADD  `atp_dont_track_this_ext` VARCHAR( 255 ) NOT NULL
                ");
        }

        $columns = self::_getColumns('xf_attachment_data');
        if(!in_array('displayname', $columns))
        {
            $db->query("ALTER TABLE  `xf_attachment_data` ADD  `displayname` VARCHAR( 100 ) NOT NULL DEFAULT  ''");
        }

        $db->query("
CREATE TABLE IF NOT EXISTS `phc_atp_tracker` (
  `track_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `user_id` int(10) unsigned NOT NULL,
  `attachment_id` int(10) unsigned NOT NULL,
  `date` int(10) unsigned NOT NULL,
  `count` int(10) unsigned NOT NULL,
  PRIMARY KEY (`track_id`),
  KEY `attachment_id` (`attachment_id`),
  KEY `user_id` (`user_id`)
) ENGINE=InnoDB ;
");

        $db->query("
CREATE TABLE IF NOT EXISTS `phc_atp_downloads` (
  `user_id` int(10) unsigned NOT NULL,
  `date` int(10) unsigned NOT NULL,
  `count` int(10) unsigned NOT NULL,
  `traffic` int(10) unsigned NOT NULL,
  `content_type` varchar(25) NOT NULL,
  KEY `user_id` (`user_id`),
  KEY `content_type` (`content_type`)
) ENGINE=InnoDB;
");

        $columns = self::_getColumns('phc_atp_downloads');
        if(!in_array('content_type', $columns))
        {
            $db->query("ALTER TABLE  `phc_atp_downloads` ADD  `content_type` VARCHAR( 25 ) NOT NULL , ADD INDEX (  `content_type` )");
        }
    }

    public static function Uninstall()
    {
        $db = XenForo_Application::get('db');

        $db->query("ALTER TABLE `xf_forum` DROP `atp_override_attachment_options`");
        $db->query("ALTER TABLE `xf_forum` DROP `atp_attachment_max_file_size`");
        $db->query("ALTER TABLE `xf_forum` DROP `atp_attachment_max_per_message`");
        $db->query("ALTER TABLE `xf_forum` DROP `atp_attachment_extensions`");
        $db->query("ALTER TABLE `xf_forum` DROP `atp_attachment_max_dimensions`");

    }

    private static function _getColumns($table)
    {
        $db = XenForo_Application::get('db');
        $query = $db->query("SHOW COLUMNS FROM $table");
        $columns = array();
        while($record = $query->fetch())
        {
            $columns[] = $record['Field'];
        }
        return $columns;
    }

    protected static function _getATPModel()
    {
        return XenForo_Model::create('phc_AttachmentPlus_Model_ATPModel');
    }
}

таблицы я потер а как удалить столбцы которые он наделал :( помогите составить запрос на удаление
 
а как удалить столбцы которые он наделал
Для примера, если код добавления
Код:
ALTER TABLE  `xf_forum` ADD  `atp_dont_track_this_node` BOOLEAN NOT NULL DEFAULT FALSE ,
                      ADD  `atp_dont_track_this_ext` VARCHAR( 255 ) NOT NULL
то запрос будет такой
Код:
ALTER TABLE  `xf_forum` 
DROP 'atp_dont_track_this_node',
DROP atp_dont_track_this_ext;
Т.е. таблица дроп столбец
 
Последнее редактирование:
Или проще, запрос
Код:
ALTER TABLE  `xf_attachment_data` ADD  `displayname` VARCHAR( 100 ) NOT NULL DEFAULT  '';
меняем на такой
Код:
ALTER TABLE  `xf_attachment_data` DROP  `displayname`;
 
Мини отчет . После всех правок описанных в этой теме ошибок вроде этой
Zend_Db_Adapter_Mysqli_Exception: User elisovs1_only already has more than 'max_user_connections' active connections

Больше нет . Всем спасибо .
 
Статус
В этой теме нельзя размещать новые ответы.
Современный облачный хостинг провайдер | Aéza

Похожие темы

Назад
Сверху Снизу