【问题标题】:Is There an Alternate to CodeIgniter Throwing 500s?CodeIgniter Throwing 500s 是否有替代方案?
【发布时间】:2015-11-18 21:51:04
【问题描述】:

我正在尝试学习 CodeIgniter,但我经常遇到“500,内部服务器错误”。到目前为止,我了解到这通常意味着我在某个地方有错字,但仍然很难找到错字,因为它不会告诉你它在哪里。

有没有办法让 CodeIgniter 告诉我出了什么问题,而不是让 Apache 抛出“500,内部服务器错误”?我是一名中级 PHP 程序员,在过去的两天里,我使用 CodeIgniter 抛出的错误比我开始编写 PHP 以来的错误还要多!我可以让 CodeIgniter 告诉我语法错误,而不是让 Apache 给我 500 个吗?

【问题讨论】:

  • 你为什么不检查你的错误日志?可能是各种各样的事情,而且很难回答。
  • 检查 .htaccess 和 php 文件中的重定向
  • @LawrenceCherone:我想我正在寻找一种浏览器可以告诉我发生了什么的方法,而不是必须导航到错误日志并打开它们。如果这是我必须做的,我想这就是我必须做的。
  • @safarov:我没有使用任何 .htaccess 文件。我正在托管自己的服务器,所以我使用 apache2 配置文件。
  • 比看看你的 httpd.conf 或 vhost.conf。

标签: php apache codeigniter-2


【解决方案1】:

这些错误似乎是由 CI 函数 show_error($message, $status=500) 引起的。 CI 本身有一个自定义的 500 错误页面,其中确实包括导致 500 响应的任何 php 错误(当然假设您的错误报告在 php.ini 中打开并且 CI ENVIRONMENT 常量未设置为 'production')。

如果您收到一般的 500 错误页面,则 Apache 中的某些设置似乎覆盖了 CI 发送的自定义页面。正如@safarov 建议的那样,尝试检查您的 Apache 配置或 .htaccess 文件以获取明确的 500 错误响应。

【讨论】:

  • 我查看了配置文件,似乎没有覆盖 CI 错误页面,并且 CI 配置设置为报告开发中的所有错误,这是它设置的环境。跨度>
【解决方案2】:

我希望我能赞扬 Lawrence Cherone,因为他的评论确实帮助我解决了我的问题。

我开始查看访问和错误日​​志,并开始很快找到我的错误。当我遇到这 500 个错误时,它通过查看 apache2 日志解决了我的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-29
    • 2020-10-07
    • 2012-09-02
    • 2016-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-13
    相关资源
    最近更新 更多