找出导致可怕的“网站遇到意外错误。请稍后再试”的原因。信息

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));

【讨论】:

以上是关于找出导致可怕的“网站遇到意外错误。请稍后再试”的原因。信息的主要内容,如果未能解决你的问题,请参考以下文章

Drupal 8 不安装日期模块

更改 cPanel 密码后,Drupal 站点上的访问被拒绝

java.lang.NullPointerException 无法找出导致错误的原因

Mongo ids 导致可怕的 URL

C语言:从p所指字符串中找出ASCII码最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。

c语言 怎么解决调用函数导致的原数组改变