【问题标题】:Internal server error 500 when upgrading to Laravel 8升级到 Laravel 8 时出现内部服务器错误 500
【发布时间】:2021-11-12 03:19:43
【问题描述】:

我将测试服务器上的 Laravel 从 Laravel 5 更新到了 8。我的电脑上有以下版本:

  • php: 7.3.29
  • wampserver:3.2.5
  • Laravel 框架:8.42.0

当我想访问测试服务器上的软件时,出现以下错误:

内部服务器错误 500

没有任何解释。

这是从哪里来的,我如何才能找到有关此错误的更多详细信息?

【问题讨论】:

  • 查看服务器日志以了解更多详细信息。你是否遵循 Laravel 的每个版本的升级指南?
  • 除了服务器日志,你是否也检查了storage/logs目录中的Laravel日志?
  • 我在 Apache 错误日志文件中有以下错误消息:“由于可能的配置错误,请求超出了 10 个内部重定向的限制。如有必要,请使用 'LimitInternalRecursion' 增加限制。使用 'LogLevel调试'以获得回溯”。是的,我每个版本都遵循了 Laravel 的升级指南。
  • 这是来自 apache 的错误。检查您的配置以及您的 htaccess 文件是否对于 Laravel 8 是最新的。要圈出问题,请按照错误消息的建议进行操作,并在 apache conf 中启用 LogLevel debug

标签: php laravel upgrade wampserver


【解决方案1】:

检查您的 php.ini 并设置以下值:

  • display_errors = 'On'
  • error_reporting = E_ALL

重新加载您的页面。您现在应该能够看到导致崩溃的原因。当display_errors 设置为Off 时,PHP 将抛出 HTTP 错误 500,如果您遇到致命错误,这是生产 php.ini 中的默认设置。

【讨论】:

  • 更改 php.ini 需要重新启动服务器
  • 为什么不在脚本中使用ini_set('display_errors', '1');ini_set('display_startup_errors', '1');error_reporting(E_ALL);
  • 您需要将它包含在所有脚本中。如果您要升级整个项目,则可以更轻松地进行快速 INI 更改,这适用于全局。之后,您将其改回并且不必回溯,哪些文件仍然具有调试信息。
  • @stui 我已经在 php.ini 中有 display_errors = 'On' error_reporting = E_ALL 并且仍然有同样的问题
  • @stui 不,您不必将它包含在所有脚本中,只需包含在 index.php 中即可。在这种情况下,您可以在不重新启动服务的情况下执行此操作。在错误日志文件中也可以找到相同的信息。除此之外,这是评论,而不是答案。
猜你喜欢
  • 1970-01-01
  • 2020-12-23
  • 2012-11-05
  • 2020-02-06
  • 2010-12-07
  • 2021-10-23
  • 1970-01-01
  • 1970-01-01
  • 2014-08-05
相关资源
最近更新 更多