Laravel 错误屏幕,哪个文件引发错误以及要修复哪个文件?

标签 laravel error-handling

我真的很想了解我的项目中的问题出在哪里,而且我喜欢 Laravel,但同时它也让我很难找到问题的根源。

我不明白我是否缺乏知识(也许是这样),或者我是否需要一些魔杖来理解什么文件引发了错误。

我目前正在处理 3 个类(class):

  1. App\Services\Http 文件夹中的HttpClientContract.php
  2. App\Services\Http 文件夹中的HttpClient.php
  3. App\Providers 文件夹中的HttpClientServiceProvider.php

可能我命名错误或调用了错误的路径,但我遇到的错误如下:

enter image description here

从这里我确实明白我调用的 Class App\Services\HttpClientContract 不存在,很好。但我在哪里犯了这个错误呢? :(

它说在 ...src/Illuminate/Routing/RouteSignatureParameters.php 中,这可能是子容器类左右,但我不知道MY 错误是。


[编辑]

当然是一个 RouteSignatureParameters.php 我可以想到 routes/web.php 文件。但我会给你另一个例子:

在此Laracast lesson7:20 分钟,routes/web.php 由以下内容组成:

Route::get('/', function(){
    dd(app('example'));
});

Example 类未导入,也未绑定(bind)到应用程序容器,因此此错误会引发以下错误:

enter image description here

我需要修复的文件是 routes 文件夹中的 web.php,但是 Laravel 错误处理并没有告诉我这一点,所以我该如何解决?

有没有办法显示实际需要修复的文件?

最佳答案

实际上,laravel 确实会告诉您哪个文件导致了错误。下图中的红色框是您的整个调用堆栈(回溯),生成错误的文件位于两者之间 image of laravel error page

为了更容易,您可以仅将调用堆栈更改为应用程序框架,这样就可以更轻松地找到出错的文件。 image of laravel error call stack

这是App\Http\Controllers\HomeController.php文件的第35行

35        app('example');
36
37        return view('home');

当您犯语法错误或类似错误时,它会很简单(检查图像,只有一个文件),但如果错误像您犯的那样,则不同,因为错误直到不存在才发生正在尝试实例化类,这就是为什么您会得到一长串调用堆栈的原因。 image of laravel error screen

关于Laravel 错误屏幕,哪个文件引发错误以及要修复哪个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54322957/

相关文章:

codeigniter - 如何关闭新的 codeigniter 4 错误报告

android - Android->如何使用Eclipse查找错误?

php - 在 laravel 中编写 sql 查询时遇到困难

paypal - Paypal 快速结账的 Omnipay 错误,您的最后一个操作无法完成

mysql - Laravel 查询生成器。返回嵌套结构化数据

c# - 注意错误而不返回错误值?内部更多信息

laravel - 使用 VueJS 和 Laravel 的 Textarea v-model 初始值

php - 使用 laravel orm 选择自定义字段

java - Spring Integration 错误 channel 未收到所有异常

javascript - 与抛出错误相反,ES6函数的默认参数如何返回未定义的?