Созонов Алексей

Веб-разработчик

Проверить все модули

25.02.2016

Иногда получается так, что в базе данных существует запись о том, что модуль включен, а на самом деле его нет. Чтобы найти удаленные модули, можно использовать следующий код:

/**
 * Implements hook_init().
 */
function custom_init() {
  $files = db_query("SELECT filename FROM {system} WHERE status = :status AND type = :type", array(':status' => 1, ':type' => 'module'))->fetchAll();
  foreach($files as $file) {
      if(!file_exists(DRUPAL_ROOT . '/' . $file->filename)) {
          $res[] = $file;
      }
  }
  dpm($res);
}

Drupal тратит достаточно много времени на поиск удаленных модулей, что может замедлить работу сайта.

#Drupal