Lorsque j'essaye d'accéder à mon site laravel, j'obtiens cette erreur dans la console.
+--------+----------------------------------------+--------------------------------------------------------------------------------------------+--------------------------------------------+------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Domain | Method | URI | Name | Action | Middleware | +--------+----------------------------------------+--------------------------------------------------------------------------------------------+--------------------------------------------+------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | GET|HEAD | .well-known/apple-developer-merchantid-domain-association | | App\Http\Controllers\Web\ApplePayDomainVerificationController | web | | | GET|HEAD | / | home | App\Http\Controllers\Web\HomeController@index | web |
Mais l'itinéraire du retour est clairement défini. Je l'ai même mis en haut de mon fichier d'itinéraire pour m'assurer que rien d'autre ne le remplaçait.
routes/web.php <?php // New Home Page for App Route::get('/', 'Web\HomeController@index')->name('home'); ...
avec php artisan route:list
Laravel development server started: <http://127.0.0.1:8000> [Mon Nov 16 10:39:15 2020] PHP Fatal error: Uncaught InvalidArgumentException: Route [home] not defined. in /Users/threeaccents/code/src/gitlab.com/few/bodylove/vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:389 Stack trace: #0 /Users/threeaccents/code/src/gitlab.com/few/bodylove/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(822): Illuminate\Routing\UrlGenerator->route('home', Array, true) #1 /Users/threeaccents/code/src/gitlab.com/few/bodylove/storage/framework/views/e071ac62e490c49233841ae8b6b3906075bc0187.php(6): route('home') #2 /Users/threeaccents/code/src/gitlab.com/few/bodylove/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(43): include('/Users/threeacc...') #3 /Users/threeaccents/code/src/gitlab.com/few/bodylove/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(59): Illuminate\View\Engines\PhpEngine->evaluatePath('/Users/threeacc...', Array) #4 /Users/threeaccents/code/src/gitlab.com/few/bodylove/vendor/laravel/framework/src/Illuminate/View/View.php(142): Illuminate\Vi in /Users/threeaccents/code/src/gitlab.com/few/bodylove/vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php on line 389 [Mon Nov 16 10:39:15 2020] PHP Fatal error: Uncaught InvalidArgumentException: Route [home] not defined. in /Users/threeaccents/code/src/gitlab.com/few/bodylove/vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:389 Stack trace: #0 /Users/threeaccents/code/src/gitlab.com/few/bodylove/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(822): Illuminate\Routing\UrlGenerator->route('home', Array, true) #1 /Users/threeaccents/code/src/gitlab.com/few/bodylove/storage/framework/views/e071ac62e490c49233841ae8b6b3906075bc0187.php(6): route('home') #2 /Users/threeaccents/code/src/gitlab.com/few/bodylove/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(43): include('/Users/threeacc...') #3 /Users/threeaccents/code/src/gitlab.com/few/bodylove/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(59): Illuminate\View\Engines\PhpEngine->evaluatePath('/Users/threeacc...', Array) #4 /Users/threeaccents/code/src/gitlab.com/few/bodylove/vendor/laravel/framework/src/Illuminate/View/View.php(142): Illuminate\Vi in /Users/threeaccents/code/src/gitlab.com/few/bodylove/vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php on line 389
Mise à jour
J'ai effacé le cache de l'itinéraire, supprimé le dossier du fournisseur, réinstallé PHP mais rien ne semble résoudre le problème.
Je l'ai essayé sur mon ordinateur portable de travail (même configuration) et tout fonctionne. Cela semble être un problème avec ma station actuelle, mais je ne sais pas ce qui en serait la cause. J'utilise PHP 7.2 sur un mac os 10.14.4. Laravel 5.7
Je pensais aussi que c'était peut-être un problème système global, mais si je crée un nouveau projet laravel, tout fonctionne comme prévu, donc cela semble être un problème spécifique au projet.
3 Réponses :
Une telle route ne fonctionne pas sauf si vous modifiez le RouteServiceProvider
Il existe une nouvelle version de laravel, assurez-vous de mettre à jour votre PHP ou XAMPP et essayez de mettre à jour le laravel global du compositeur et de créer un nouveau projet laravel.
Voir la documentation Laravel et ce post https://youtu.be/MfE1tnMG6fE
Vous pouvez supprimer le nom ('home'), car l'erreur est Route [home] non définie
<?php // New Home Page for App Route::get('/', 'Web\HomeController@index');
C'était un problème avec ma configuration apache. Il semble que sur ma dernière mise à jour, Apache a été mis à jour et le fichier de configuration a un peu changé. Je devais changer
<Directory /> AllowOverride all Require all granted </Directory>
à
# # Deny access to the entirety of your server's filesystem. You must # explicitly permit access to web content directories in other # <Directory> blocks below. # <Directory /> AllowOverride none Require all denied </Directory>
Et à propos de la structure des dossiers de votre contrôleur?
Est-ce que cela répond à votre question?404 Not Found, mais la route existe dans Laravel 5.4
Très intéressant .. Utilisez-vous opcache? Ou tout autre système de cache de niveau php? Et je vous
rm -rf
supprimer complètementrm -rf
dossier de cache généré. Peut-être que c'est juste foiré et ne peut pas le remplacer.Essayez d'utiliser
url("/")
au lieu de l'assistant d'itinéraire pour déterminer le comportement.