如何修复由于Drupal中的模块导致的不可逆损坏

时间:2012-07-16 19:54:23

标签: drupal drupal-7

这令人非常沮丧。我在Drupal安装中安装了一个模块Finder。我正在调整其中的一些设置,然后在更改一些设置后,它开始显示一些Ajax错误,然后有白屏,显示此错误:

  

致命错误:在第9行的/var/www/drupal/sites/all/modules/views/includes/plugins.inc中调用未定义的函数views_include()

使用Drush,我禁用了Finder模块并清除了缓存。但什么都没发生。然后我禁用了Views模块。白色屏幕现在消失了。

现在我被卡住了。我在这个网站上做了一些非常好的工作,当我重新启用视图时,白色屏幕重新出现。在我看来,Finder模块在视图中的某处发生了一些不可逆转的变化。我的意思是当我清除缓存并且Finder被禁用时,我的视图是如何工作的?

有没有人在Drupal遇到过这样的事情?你是怎么解决的?

更新 我刚刚发现“Finder”模块的开发人员声称它是Views中的一个bug。见这里:http://drupal.org/node/1611106。正如所建议的,在Views模块的plugins.inc中注释掉特定的第9行确实有效。但是,我仍然怀疑接受视图中的错误。

4 个答案:

答案 0 :(得分:3)

这不是Finder;它可能是Drush篡改更新,也可能是您重新定位模块,导致注册表变得过时。检查views.module是否确实存在,在系统表中启用了视图,然后在 nmc 建议的情况下rebuild the registry启用。

应该修复它,但最糟糕的是,你可以在plugins.inc顶部注释掉views_include('base');电话,作为恢复网站的快速黑客。

答案 1 :(得分:2)

我也遇到了这个错误。有趣的是它也在寻找finder模块中的设置。准确地使用ajax设置。

无论如何,要在出现错误和白屏时让您的网站恢复原状,请关闭浏览器并重新打开网站以外的其他网页并清除所有浏览器缓存。然后,您应该能够再次看到您的网站。

在编辑查找器页面上的表单标题下将“Ajax”设置为“yes”后,我发生了这种情况。 重新打开浏览器并清除浏览器缓存后,直接进入查找器的编辑页面,将“ajax”设置为“no”。

答案 2 :(得分:1)

也许Registry Rebuild模块可以帮助您。

  

您何时需要注册表重建?

     

你可能会得到类似的东西:

     

PHP Fatal error: Class 'EntityAPIControllerExportable' not found in   ...sites/all/modules/rules/includes/rules.core.inc on line 11

     

如果您在尝试运行update.php时发生这种情况,并在发生时发生   你正试图清除你的缓存,好吧,你有一些麻烦。那' S   注册表重建的目的是什么。

我自己从未使用过它,所以我建议您在运行之前查看代码,但我希望它可以帮助您。

请参阅 http://randyfay.com/node/105http://drupal.org/project/registry_rebuild

答案 3 :(得分:1)

对我来说,使用drush rr重建注册表并不起作用。禁用该模块,卸载广告重新安装也没有帮助。唯一有效的方法是清除sessions表。