【问题标题】:500 - Internal server error for SQL Server error500 - SQL Server 错误的内部服务器错误
【发布时间】:2012-11-17 02:11:00
【问题描述】:

我有一个新的 VPS 帐户,而之前我一直在共享服务器上运行我的网站。

我选中了“启用稳健异常信息”,并选中了“启用请求调试输出”。

我收到 500 - 内部服务器错误,这不是很有帮助。

我可以在 application.log 中看到以下错误:

执行数据库查询时出错。[Macromedia][SQLServer JDBC Driver][SQLServer]列名 'AttachmentDesc' 指定更多 在 SET 子句中不止一次。

所以我看到了错误,但如果页面显示错误而不是我必须在 application.log 中找到它会更好。

问:我是否缺少其他设置来帮助在页面本身上显示错误?

【问题讨论】:

    标签: coldfusion


    【解决方案1】:

    看起来 IIS 正在向您隐藏错误。在 IIS 中的“错误页面”下,选择 500 错误并单击“编辑功能设置”并选择“详细错误” - 您现在应该会看到完整的错误信息(前提是在 n CF 上进行调试)。

    【讨论】:

    • 是的,根据您的设置,IIS 可以显示“友好”错误页面而不是详细错误。它不会“屏蔽”状态代码(即它仍然返回 500 代码),但会隐藏错误信息,这会使开发中的调试变得相当困难。
    • @azawaza:感谢您的回答 - 它真的很有帮助且准确。
    【解决方案2】:

    您可以通过进入 ColdFusion 管理员并启用“启用鲁棒异常信息”选项来启用调试。在 CF10 中,您可以在“调试输出设置”的“调试和日志记录”部分下找到此选项。

    这是 CF 8 http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=Debug_02.html 和 CF 9 http://help.adobe.com/en_US/ColdFusion/9.0/Admin/WSc3ff6d0ea77859461172e0811cbf3638e6-7fe0.html 的链接。

    【讨论】:

      【解决方案3】:

      IIS 可能会向您隐藏错误(请参阅 azawaza 的回答)。您可以在 ColdFusion 层停止此操作,方法是禁用 ColdFusion 管理员 -> 设置 -> “启用 HTTP 状态代码”。然后即使是错误页面也会给出代码 200 表示成功,并且 IIS 不会替换输出。

      【讨论】:

      • 谢谢克鲁博。我认为@azawaza 的回答解决了它。我只是忘记将其标记为已接受的答案。
      【解决方案4】:

      我在共享主机上遇到了类似的问题(500 错误而不是详细调试)。设置

      <httpErrors errorMode="Detailed" />
      

      web.config 中完成了这项工作。

      【讨论】:

        猜你喜欢
        • 2012-08-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-17
        相关资源
        最近更新 更多