Решение
Варианты решений
- Отключить обычным образом (рекомендуется)
- Удалить папку с модулем (если нет возможности отключить обычным образом)
- Отключить через базу данных (если нет возможности отключить обычным образом)
Отключение обычным образом
Откройте в браузере: http://ваш сайт/admin/build/modules
Уберите галочку напротив модуля, который вы хотите отключить и сохраните изменения.
Если всё прошло успешно, но вы увидите сообщение вверху страницы, которое это подтверждает.
Удаление папки с модулем
Этот метод позволяет быстро вернуть сайт в рабочее состояние, но после этого нужно отключить модуль в базе данных (см. ниже). Если этого не сделать, то могут быть проблемы с повторным включением или обновлением модуля.
При этом в базе останутся:
- таблицы, созданные модулем
- запись, что модуль включен
- переменные, которые модуль создал в таблице variable
- Найдите папку модуля:
- Папка sites/all/modules (здесь должны быть дополнительные модули) и
- Папка modules (здесь должны быть только системные модули, включённые в Друпал по умолчанию).
- Сделайте папку недоступной для Друпал:
- Удалите папку с моделем
- Сделайте папку с модулем скрытой.
На UNIX-системах можно добавить точку в начале имени файла или папки, чтобы сделать этот файл или папку невидимым. Таким образом модуль может оставаться на своём месте, но не будет виден Drupal. Вы же сможете его видеть...
Обратите внимание!
Переименование папки не ничего не даст. Модуль может находиться в папке с любым именем и любой вложенности - друпал найдёт его.
Отключение модуля в базе данных
Останутся:
- таблицы, созданные модулем
- папка с файлами модуля
- переменные, которые модуль создал в таблице variable
Для этого нужно выполнить SQL-запрос:
Вместо 'имя модуля' нужно подставить имя модуля, который вы хотите удалить.
Внимание: имя модуля это не имя папки, в которой этот модуль находится. Папка может быть переименована, а имя модуля остаётся постоянным. Чтобы узнать имя модуля, откройте папку модуля и найдите в ней файл с расширением *.info. Имя этого файла (всё, что идёт до ".info") и нужно использовать.
Вывод
Если сайт работает, что лучше отключать стандартным образом. Если же сайт недоступен, то лучше использовать отключение через базу данных, потому что тогда при закачивании новой версии модуля он не будет автоматически включен.
Если применяется нестандартный метод отключения модуля, то нужно очистить кеш. См. рецепт "Очистить кеш".
Полезные рецепты по этой теме
- Когда модуль отключен в базе данных остаётся информация, которая относится к этому модулю (таблицы, которые создал модуль и параметры модуля).
Если вы хотите удалить модуль полностью - вам нужно удалить и эту информацию: Удаление модуля - Очистить кеш











Комментарии
Сдается мне, что отключать модуль через базу данных так как это показано в примере не вполне корректно.
Например не очищается кеш форм, в котром могут присутсвовать элементы удаленного модуля.
Совершенно верно. Если есть возможность отключить стандартным путем, то лучше так и сделать. Вариант отключения через базу - для экстренных случаев, когда новый модуль сделал сайт нерабочим...
PS внес изменения в статью.
Не совсем понятно как называется модуль, по какому названию его искать в папке sites/all/modules?