找出导致可怕的“网站遇到意外错误。请稍后再试”的原因。信息
Posted
技术标签:
【中文标题】找出导致可怕的“网站遇到意外错误。请稍后再试”的原因。信息【英文标题】:finding out what is causing dreaded "The website encountered an unexpected error. Please try again later." message 【发布时间】:2011-06-11 21:17:05 【问题描述】:在进行 drupal 6 到 7 升级时,我收到了不太有用的消息 “网站遇到意外错误,请稍后再试。”每次我去某些页面。 例如)/admin/config
找出导致致命错误的原因以便我修复它的最佳方法是什么?
我现在能想到的就是开始禁用贡献的模块,直到该页面正常工作或查看日志。
谢谢。
【问题讨论】:
【参考方案1】:如果 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)) 放在错误的末尾
【讨论】:
【参考方案2】:通过清除/admin/reports/dblog
处的日志,然后重新加载损坏的页面,当我重新检查日志时,我可以轻松识别出问题模块。
网站现在运行良好:)
【讨论】:
这个解决方案的唯一问题是,当问题是看门狗本身时,这不起作用......正如我所发现的那样。 如果您没有登录,则无法查看/admin/reports/dblog,如果您登录,则会出现错误【参考方案3】:您绝对应该禁用所有 contrib 模块来执行升级。 然后在将它们替换为 D7 版本后,一次启用它们。更换模块时,一定要清理掉整个模块目录,以防遗留一些旧文件。
这应该有助于缩小问题的范围,并确保检查 php 错误日志,以防您在那里发现问题。 (虽然这通常是在白屏死机的情况下。)
【讨论】:
【参考方案4】:正如 gyozo 所说,如果您无法登录该站点,则可能难以调试。
那你可以试试
-
登录数据库并运行
delete from watchdog;
刷新页面
然后执行数据库查询select variables from watchdog;
注意短信附近的文字
【讨论】:
【参考方案5】:我正在回复 8 岁的帖子。但想分享我的输入来修复这个错误。我正在使用 Drupal 8.*
我在尝试清除缓存时遇到了同样的错误(来自性能)。我尝试了大多数博客或 drupal 帮助中提到的几件事。
最后我才知道,我的 Drupal 8 主题文件中存在一些 YML 格式问题。我从在线 YML 验证器中删除了标签并验证了我的 YML 文件。
【讨论】:
【参考方案6】:在 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));
【讨论】:
以上是关于找出导致可怕的“网站遇到意外错误。请稍后再试”的原因。信息的主要内容,如果未能解决你的问题,请参考以下文章
更改 cPanel 密码后,Drupal 站点上的访问被拒绝
java.lang.NullPointerException 无法找出导致错误的原因