在进行 drupal 6 到 7 升级时,我收到不太有用的消息“网站遇到意外错误。请稍后再试。” 每次我去某些页面。例如)/管理员/配置
找出导致致命错误的原因以便我修复它的最佳方法是什么?
我现在能想到的就是开始禁用贡献的模块,直到该页面正常工作或查看日志。
谢谢。
如果 dlog/watchdog 和 php 错误日志不起作用,试试这个:
继续 /includes/error.inc 注释行第 245 行
print theme('maintenance_page', array('content' => t('The website encountered an unexpected error. Please try again later.')));
把这个
print theme('maintenance_page', array('content' => t('The website encountered an unexpected error. Please try again later.'.$fatal.' '.var_export($error,true))));
非常相似,您将 var_export($error,true)) 放在错误末尾
通过在重新加载损坏的页面时清除日志,/admin/reports/dblog
我可以在重新检查日志时轻松识别违规模块。
网站现在工作正常:)
您绝对应该禁用所有 contrib 模块来执行升级。然后在将它们替换为 D7 版本后,一次启用它们。更换模块时,一定要清理掉整个模块目录,以防留下一些旧文件。
这应该有助于缩小问题的范围,并确保检查 php 错误日志,以防您在那里找到一些东西。(尽管这通常是在白屏死机的情况下。)
正如 Gyozo 所说,如果您无法登录该站点,则可能难以调试。
那么也许你可以试试
delete from watchdog;
select variables from watchdog;
在 Drupal 8.7 中,您可以在 core/lib/Drupal/Core/EventSubscriber/FinalExceptionSubscriber.php 第 126 行执行此操作:
$content = $this->t('The website encountered an error. Please try again later.' . var_dump($error));
我正在回复 8 岁的帖子。但想分享我的输入来修复这个错误。我正在使用 Drupal 8.*
当我尝试清除缓存(来自性能)时,我遇到了同样的错误。我尝试了大多数博客或 drupal 帮助中提到的几件事。
最后我才知道,我的 Drupal 8 主题文件中有一些 YML 格式问题。我从在线 YML 验证器中删除了选项卡并验证了我的 YML 文件。