J'obtiens l'erreur ci-dessous en essayant d'accéder à la route, mais le contrôleur est nécessaire pour charger les données:
(1/1) InvalidArgumentException Action Facade\Ignition\Http\Controllers\ShareReportController not defined.
J'utilise le package Tenancy / Multi-Tenant et j'ai configuré il utilise routes / tenants.php pour charger des routes spécifiquement pour les locataires. Si je fais ce qui suit dans le fichier tenants.php, il renvoie la bonne réponse.
Route::get('/testt', 'TenantController@testt');
cependant quand j'essaye de faire de même, mais en chargeant les données d'un contrôleur tel comme ceci:
Route::get('/test', function() { return 'Test success'; });
Il montrera l'erreur:
(1/1) InvalidArgumentException Action Facade\Ignition\Http\Controllers\ShareReportController not defined.
Si j'essaye de mettre le même code dans le Web. php routes, alors cela fonctionne parfaitement. Quel pourrait être le problème? Est-ce quelque chose dans mon code? Cela peut-il être dû au package multi-locataire que j'utilise? Comment est-ce que je pourrais continuer à déboguer ceci?
7 Réponses :
Le correctif consistait à regrouper les routes dans tenants.php
avec le middleware Web et un espace de noms:
Route::middleware('web')->namespace('App\Http\Controllers')->group(function() { //Routes });
Après quelques minutes à essayer de résoudre le problème, j'ai trouvé la solution.
Vous n'avez pas besoin de regrouper les itinéraires si vous l'avez fait dans RoutesServiceProvider ou dans un fournisseur personnalisé.
Allez simplement à config / tenancy.php et accédez à routes -> chemin
, supprimez la fonction base_path ()
et laissez la chaîne:
'path' => 'routes/tenants/tenants.php',
à
'path' => base_path('routes/tenants/tenants.php'),
Et cette erreur devrait être corrigée.
Essayez composer dump-autoload -o
cela m'a aidé.
Pouvez-vous voir si vos routes sont mises en cache et essayer de vider ce cache. Effacez simplement le cache de route du projet en utilisant route:clear
J'ai eu une erreur similaire après l'installation de laravel / passeport 8.1 dans Laravel 6.2:
Action Facade \ Ignition \ Http \ Controllers \ ExecuteSolutionController non défini.
Correction de l'exécution de mise à jour du compositeur
. Le résultat était:
Mise à jour façade / allumage (1.13.0 => 1.13.1):
Pour les personnes qui trouvent cela via Google: j'ai eu une erreur similaire avec Laravel 6.5. J'avais gâché mon AppServiceProvider avec une fusion Git incomplète:
<?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 } }
Suppression des "= 's", " 's", et double utilisation de Blade réparé pour moi.
côté serveur, je suis allé dans le dossier / stoage et j'ai récupéré des espèces. Par exemple. vues dans le dossier / storage. Ensuite, les autorisations de tous les dossiers et fichiers entiers ont également été modifiées pour pouvoir lire et écrire. Ensuite, les pages ont commencé à s'afficher comme prévu
Je ne sais pas mais dans mon cas parfois, cela montre une erreur lorsque la page était inactive pendant un certain temps, mais après l'actualisation, cela fonctionne bien.