如何修复并解决升级到drupal7.50后模块丢失的警告信息

cn4jd的头像

升级到Drupal 7.50后,当找不到要求在文件系统中的文件时Drupal将会记录一个PHP警告信息,其主要原因是你没有禁用并卸载你删除了的模块,要解决这个问题请查看官网How to fix "The following module is missing from the file system..." warning messages

  • 恢复模块然后关闭并卸载模块(官网推荐的方法)

  • 手动移除这些模块在数据库中的痕迹(官网不推荐的方法)

  1. 使用模块Module Missing Message Fixer

  2. 使用drush   drush sql-query "DELETE from system where name = 'old_module1' AND type = 'module';"

  3. 自己写一个update hook自定义模块

  4. /**
     * Delete {system} records for long-lost modules.
     */function MYMODULE_update_7100() {
      $modules = array(
        'old_module1',
        'old_module2',
        'old_module3',
      );
      db_delete('system')
        ->condition('name', $modules, 'IN')
        ->condition('type', 'module')
        ->execute();}

 之前译站使用的官网推荐的方法,但由于丢失的模块多,且部分模块官网已经找不到,在使用drush关闭并卸载模块时还是遇到些小问题,后来改用使用Module Missing Message Fixer模块来解决这个问题就变得很轻松,所以推荐大家使用这个模块来解决该问题,分享出来给大家,希望能帮到有需要的drupaler。

作者: 
cn4jd
标签: 

添加新评论