【问题标题】:Error when trying to view page, following error: Action Facade\Ignition\Http\Controllers\ShareReportController not defined尝试查看页面时出错,出现以下错误:Action Facade\Ignition\Http\Controllers\ShareReportController 未定义
【发布时间】:2019-09-30 17:08:05
【问题描述】:

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

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

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

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 路由中,那么它会完美运行。可能是什么问题呢?它在我的代码中吗?可能是因为我正在使用多租户包吗?我将如何进一步调试呢?

【问题讨论】:

  • 我不知道,但在我的情况下,有时页面处于非活动状态时会显示错误,但刷新后它可以正常工作。

标签: laravel multi-tenant laravel-6


【解决方案1】:

您能否查看您的路线是否已缓存并尝试清除该缓存。只需使用 route:clear 清除项目路由缓存

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

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

        只要去config/tenancy.php和routes -> path,去掉base_path()函数,让字符串:

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

        到

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

        这个错误应该被修复了。

        【讨论】:

          【解决方案5】:

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

          Action Facade\Ignition\Http\Controllers\ExecuteSolutionController 未定义。

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

          更新外观/点火(1.13.0 => 1.13.1):

          【讨论】:

            【解决方案6】:

            对于通过 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
                }
            }
            

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

            【讨论】:

              【解决方案7】:

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

              【讨论】:

                【解决方案8】:

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

                我在这个问题中报告了相同的错误,并且偶然将我的应用中安装的错误包更改为糟糕的错误,这向我显示了我的应用所遇到的真实错误,然后我立即能够解决它。因此,似乎点火并不是真正的原因,但它阻碍了我解决另一个问题。

                【讨论】:

                  猜你喜欢
                  • 2020-04-13
                  • 1970-01-01
                  • 2014-08-08
                  • 1970-01-01
                  • 2019-04-13
                  • 2017-06-30
                  • 1970-01-01
                  • 1970-01-01
                  • 2021-02-18
                  相关资源
                  最近更新 更多