Error when trying to view page, following error: Action Facade\Ignition\Http\Controllers\ShareReportController not defined

Error when trying to view page, following error: Action Facade\Ignition\Http\Controllers\ShareReportController not defined

尝试访问路线时出现以下错误,但需要控制器加载数据:

(1/1) InvalidArgumentException
Action Facade\Ignition\Http\Controllers\ShareReportController not defined.

我正在使用 Tenancy/Multi-Tenant 包,我已将其配置为使用 routes/tenants.php 专门为租户加载路由。如果我在 tenants.php 文件中执行以下操作,它会 returns 正确的响应。

Route::get('/test', function() {
    return 'Test success';
});

虽然当我尝试做同样的事情时,但是从这样的控制器加载数据:

Route::get('/testt', 'TenantController@testt');

它会显示错误:

(1/1) InvalidArgumentException
Action Facade\Ignition\Http\Controllers\ShareReportController not defined.

如果我尝试将相同的代码放在 web.php 路由中,那么它会完美运行。可能是什么问题呢?这是我的代码中的东西吗?可能是因为我使用的是多租户包吗?我将如何进一步调试它?

修复方法是将 tenants.php 中的路由与网络中间件和命名空间分组:

Route::middleware('web')->namespace('App\Http\Controllers')->group(function() {
    //Routes
});

尝试修复几分钟后,我找到了解决方案。

如果您已在 RoutesServiceProvider 或自定义提供程序中完成,则无需对路由进行分组。

就去config/tenancy.php然后去routes -> path,去掉base_path()函数让字符串:

'path'           => base_path('routes/tenants/tenants.php'),

'path'           => 'routes/tenants/tenants.php',

并且应该修复此错误。

尝试composer dump-autoload -o 它对我有帮助。

你能看看你的路线是否被缓存并尝试清除缓存。只需使用 route:clear

清除项目路由缓存

我在 Laravel 6.2 中安装 laravel/passport 8.1 后出现了类似的错误:

Action Facade\Ignition\Http\Controllers\ExecuteSolutionController not defined.

已修复它运行 composer update。结果是:

Updating facade/ignition (1.13.0 => 1.13.1):

对于通过 Google 找到此内容的人:我在 Laravel 6.5 中遇到了类似的错误。我用不完整的 Git 合并搞砸了我的 AppServiceProvider:

<?php

namespace App\Providers;

use Illuminate\Support\Str;
use Illuminate\Support\Facades\Blade;
use Illuminate\Support\Facades\Request;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Blade;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
    }

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
<<<<<<< HEAD
        Blade::if(
            'iscurrentroute',
            function ($route) {
                $route = Str::replaceFirst(Request::getSchemeAndHttpHost().'/', '', $route);
                return Request::is($route);
            }
        );
=======
        Blade::component('components.sortable', 'sortable');
>>>>>>> feature/WLI-58-bedrijf-beheren
    }
}

删除“=”、“<”和“>”,Blade 的双重使用为我修复了它。

在服务器端,我进入 /stoage 文件夹并清算现金。例如。该 /storage 中的 views 文件夹。然后另外将所有整个文件夹和文件的权限更改为可以读取和写入。 然后页面开始按预期显示

我在 Laravel 中使用 Ignition 错误页面,我不得不说我更喜欢 whoops 包。

我在这个问题中报告了同样的错误,并且偶然将我的应用程序中安装的错误包更改为 whoops 一个向我展示了我的应用程序遇到的 real 错误,我然后立即能够解决它。所以看起来点火并不是真正的原因,但它阻碍了我解决另一个问题。