【问题标题】:Getting 500 internal server error after deploying laravel app部署 laravel 应用程序后出现 500 内部服务器错误
【发布时间】:2020-07-11 07:30:43
【问题描述】:

将 laravel 应用程序部署到共享主机后,我收到 500 内部服务器错误。主页仅工作。当我点击主页导航栏上的其他页面链接时,出现错误。

我正在粘贴错误日志,它可能会有所帮助

#18 /home/sham/auction/app/Providers/AppServiceProvider.php(28): Illuminate\\Database\\Eloquent\\Builder->get()
#19 [internal function]: App\\Providers\\AppServiceProvider->boot()
#20 /home/sham/auction/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(32): call_user_func_array(Array, Array)
#21 /home/sham/auction/vendor/laravel/framework/src/Illuminate/Container/Util.php(36): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#22 /home/sham/auction/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(90): Illuminate\\Container\\Util::unwrapIfClosure(Object(Closure))
#23 /home/sham/auction/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(34): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#24 /home/sham/auction/vendor/laravel/framework/src/Illuminate/Container/Container.php(590): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#25 /home/sham/auction/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(856): Illuminate\\Container\\Container->call(Array)
#26 /home/sham/auction/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(839): Illuminate\\Foundation\\Application->bootProvider(Object(App\\Providers\\AppServiceProvider))
#27 [internal function]: Illuminate\\Foundation\\Application->Illuminate\\Foundation\\{closure}(Object(App\\Providers\\AppServiceProvider), 20)
#28 /home/sham/auction/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(840): array_walk(Array, Object(Closure))
#29 /home/sham/auction/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php(17): Illuminate\\Foundation\\Application->boot()
#30 /home/sham/auction/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(219): Illuminate\\Foundation\\Bootstrap\\BootProviders->bootstrap(Object(Illuminate\\Foundation\\Application))
#31 /home/sham/auction/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(156): Illuminate\\Foundation\\Application->bootstrapWith(Array)
#32 /home/sham/auction/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(140): Illuminate\\Foundation\\Http\\Kernel->bootstrap()
#33 /home/sham/auction/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(110): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#34 /home/sham/public_html/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#35 {main}

AppServiceProvider 启动方式

public function boot()
    {
        $categories = Category::take(10)->latest()->get();
        View::share('categories', $categories);
    }

【问题讨论】:

  • 您的问题缺乏实质性细节。您显然应该看看 AppServiceProvider 的第 28 行发生了什么。
  • deploying laravel app to shared hosting - 如果它在本地运行,而不是在您的主机上运行,​​那么问题似乎在于您如何部署/安装它,对吧?那么你是如何部署它的呢? public 是文档根吗?您是否按照文档中的说明设置了目录权限等?
  • @Don'tPanic 我将 zip 文件上传到根目录。将公用文件夹文件移动到 public_html 并更改了 public_html 中 index.php 中的路径
  • @Don'tPanic 我是否必须设置目录权限以及哪些目录?
  • 正如我所说,它是... described in the docslaravel.com/docs/6.x/installation

标签: laravel web-hosting laravel-6


【解决方案1】:

您需要阅读错误。

第一行告诉你错误在文件home/shamcgav/auction/app/Providers/AppServiceProvider.php的第28行。

特别是调用Illuminate\\Database\\Eloquent\\Builder->get()时出了点问题。

如果您可以在 AppServiceProvider.php 的第 28 行的数据库查询中找到对 ->get() 的调用,那么您可能会看到一个错误。如果找不到错误,请在此处发布该文件的内容!

【讨论】:

  • 我认为这不是错误,是的,我在发布问题之前检查了该代码。它在本地主机上运行良好,但在在线服务器上运行良好。我正在用代码更新我的问题。
  • 如果不是错误,为什么会返回错误信息?
  • 为什么它只出现在实时服务器上而不出现在本地环境中?我是初学者,没有太多经验
  • 我已经更新了我的问题。你能告诉我第 28 行有什么问题吗?
  • 没有看到完整的代码库我不能,不。如果是我,我会专注于 php 运行时告诉你的那行代码是一个问题。我觉得它无法完成查询。我想知道这是否是请求过程中的第一个数据库交互,并检查数据库连接是否配置正确,以及它是否正常工作。例如,我会尝试在修补程序中对其进行测试。
【解决方案2】:

我们必须得到最新的数据,然后我们得到前 10 个元素。所以代码如下:

public function boot()
{
  $categories = Category::latest()->take(10)->get();
  View::share('categories', $categories);
}

【讨论】:

    猜你喜欢
    • 2021-12-04
    • 2021-10-23
    • 1970-01-01
    • 2014-07-08
    • 1970-01-01
    • 2013-03-09
    • 2019-11-27
    • 2017-11-05
    • 2016-03-02
    相关资源
    最近更新 更多