我刚刚更新了一个使用 Drupal 的站点,现在已经经历了可怕的 WSOD。
我已经通过谷歌搜索寻找任何类型的解决方案/错误日志来帮助我找到并解决问题,但没有任何效果。我尝试在文件中添加“显示错误”代码index.php
并查看error_log
公共目录中的文件,但什么也没有。
我无法登录管理页面并检查任何模块,因为登录页面返回 403 错误。
有什么建议么?
也许您的 Drupal 注册表已损坏。使用 registry_rebuild 脚本修复此问题(这不是模块!)
在 Drupal 7 中,有时注册表会被彻底淹没,您需要重新构建注册表(PHP 类的列表及其附带的文件)。但是,有时您不能执行这种常规的缓存清除活动,因为系统尝试引导时需要某些类。
你可能会得到类似的东西:
PHP Fatal error: Class 'EntityAPIControllerExportable' not found in ...sites/all/modules/rules/includes/rules.core.inc on line 11
如果在您尝试运行 update.php 时发生这种情况,并且在您尝试清除缓存时发生这种情况,那么您就有麻烦了。这就是注册表重建的目的。
也可能发生这样的情况:您已经移动了 Drupal 需要引导的一些模块,并且您得到了一个可怕的错误。Registry Rebuild 还将重建系统表以将模块放置在正确的位置,以便您进行引导。
您将需要 PHP-CLI 或 drush 来运行它。
请转到 Apache 错误日志。您将在那里准确显示错误消息。日志文件的位置因操作系统和版本而异。
例如 httpd/log/error.log