Разработка

Полное удаление модуля aspro.smartseo вручную

Полное удаление модуля aspro.smartseo вручную

1. Удаление файлов модуля

# Удаление основной папки модуля
rm -rf /home/bitrix/ext_www/sexenergy.shop/bitrix/modules/aspro.smartseo/

# Удаление возможных компонентов
rm -rf /home/bitrix/ext_www/sexenergy.shop/bitrix/components/aspro/smartseo*
rm -rf /home/bitrix/ext_www/sexenergy.shop/local/components/aspro/smartseo*

2. Очистка базы данных

Выполните SQL-запросы для удаления таблиц и данных модуля:

-- Удаление таблиц модуля
DROP TABLE IF EXISTS `aspro_smartseo_filter_rule`;
DROP TABLE IF EXISTS `aspro_smartseo_filter_tag`;
DROP TABLE IF EXISTS `aspro_smartseo_filter_page`;
DROP TABLE IF EXISTS `aspro_smartseo_filter_url`;
DROP TABLE IF EXISTS `aspro_smartseo_settings`;

-- Удаление записей из системных таблиц
DELETE FROM `b_module` WHERE `ID` = 'aspro.smartseo';
DELETE FROM `b_option` WHERE `MODULE_ID` = 'aspro.smartseo';
DELETE FROM `b_event_type` WHERE `MODULE_ID` = 'aspro.smartseo';
DELETE FROM `b_event_message` WHERE `EVENT_NAME` LIKE '%SMARTSEO%';

-- Удаление агентов модуля
DELETE FROM `b_agent` WHERE `MODULE_ID` = 'aspro.smartseo';
DELETE FROM `b_agent` WHERE `NAME` LIKE '%smartseo%';

-- Удаление обработчиков событий
DELETE FROM `b_module_to_module` WHERE `FROM_MODULE_ID` = 'aspro.smartseo' OR `TO_MODULE_ID` = 'aspro.smartseo';

3. Удаление из кеша и реестра модулей

# Очистка кеша модулей
rm -rf /home/bitrix/ext_www/sexenergy.shop/bitrix/cache/
rm -rf /home/bitrix/ext_www/sexenergy.shop/bitrix/managed_cache/

# Удаление из автозагрузки
rm -f /home/bitrix/ext_www/sexenergy.shop/bitrix/php_interface/include/aspro_smartseo_*

4. Проверка и удаление из composer (если использовался)

cd /home/bitrix/ext_www/sexenergy.shop/
composer remove aspro/smartseo 2>/dev/null || echo "Composer пакет не найден"

5. Удаление из автозагрузки классов

-- Удаление из автозагрузки классов
DELETE FROM `b_module_to_module` WHERE `FROM_MODULE_ID` = 'aspro.smartseo';

6. Скрипт для автоматического удаления

Создайте файл remove_smartseo.php:

<?php
require_once($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php');

if (!$USER->IsAdmin()) {
    die('Access denied');
}

// Подключение к БД
global $DB;

echo "Начинаем удаление модуля aspro.smartseo...\n";

// 1. Удаление таблиц
$tables = [
    'aspro_smartseo_filter_rule',
    'aspro_smartseo_filter_tag',
    'aspro_smartseo_filter_page',
    'aspro_smartseo_filter_url',
    'aspro_smartseo_settings'
];

foreach ($tables as $table) {
    $DB->Query("DROP TABLE IF EXISTS `{$table}`");
    echo "Таблица {$table} удалена\n";
}

// 2. Удаление из системных таблиц
$DB->Query("DELETE FROM b_module WHERE ID = 'aspro.smartseo'");
$DB->Query("DELETE FROM b_option WHERE MODULE_ID = 'aspro.smartseo'");
$DB->Query("DELETE FROM b_event_type WHERE MODULE_ID = 'aspro.smartseo'");
$DB->Query("DELETE FROM b_agent WHERE MODULE_ID = 'aspro.smartseo'");
$DB->Query("DELETE FROM b_module_to_module WHERE FROM_MODULE_ID = 'aspro.smartseo' OR TO_MODULE_ID = 'aspro.smartseo'");

echo "Записи из системных таблиц удалены\n";

// 3. Удаление файлов
$modulePath = $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/aspro.smartseo';
if (is_dir($modulePath)) {
    function deleteDir($dirPath) {
        if (!is_dir($dirPath)) return false;
        $files = array_diff(scandir($dirPath), ['.', '..']);
        foreach ($files as $file) {
            $path = $dirPath . '/' . $file;
            is_dir($path) ? deleteDir($path) : unlink($path);
        }
        return rmdir($dirPath);
    }

    deleteDir($modulePath);
    echo "Файлы модуля удалены\n";
}

// 4. Очистка кеша
BXClearCache(true);
$GLOBALS["CACHE_MANAGER"]->CleanAll();

echo "Модуль aspro.smartseo полностью удален!\n";
?>

7. Проверка удаления

После удаления проверьте:

-- Проверка, что модуль удален из системы
SELECT * FROM b_module WHERE ID = 'aspro.smartseo';

-- Проверка опций
SELECT * FROM b_option WHERE MODULE_ID = 'aspro.smartseo';

-- Проверка агентов
SELECT * FROM b_agent WHERE MODULE_ID = 'aspro.smartseo';

8. Очистка логов и временных файлов

# Очистка логов, содержащих упоминания модуля
find /home/bitrix/ext_www/sexenergy.shop/ -name "*.log" -exec grep -l "smartseo" {} \; -delete

# Очистка временных файлов
rm -rf /tmp/*smartseo*

9. Перезапуск веб-сервера

# Для Apache
sudo systemctl restart apache2

# Для Nginx + PHP-FPM
sudo systemctl restart nginx
sudo systemctl restart php7.4-fpm  # или ваша версия PHP

После выполнения всех шагов модуль будет полностью удален из системы. Обязательно сделайте резервную копию сайта и базы данных перед удалением!