【问题标题】:Laravel Route [admin.home.index] not definedLaravel 路由 [admin.home.index] 未定义
【发布时间】:2020-02-06 14:29:05
【问题描述】:

这不会发生在我的本地主机中,它只会定期发生,而不是持续命中。

我试过了:

php artisan optimize:clear
php artisan route:clear
php artisan config:clear
php artisan cache:clear

清理bootstrap/cache/*上的所有缓存文件

我使用的是 Laravel 5.7,奇怪的是它只是偶尔发生而不是一直发生......

如果我运行 php artisan config:cache,整个站点将无法使用,我需要再次运行 php artisan config:clear 以使其再次运行。

工匠名单:

所有路线都有他们的名字等等。

我的路线文件:

Route::namespace('Admin')->group(function () {

        Route::name('admin.logout')->get('/logout', 'LoginController@logout');

        Route::name('admin.home.index')->get('/', 'HomeController@index');

        Route::name('admin.user.index')->get('/user', 'UserController@index');
        Route::get('/user/dt', 'UserController@dt')->name('admin.user.dt');        
        Route::get('/user/edit/{id}', 'UserController@edit')->name('admin.user.edit');
        Route::post('/user/edit/{id}', 'UserController@update')->name('admin.user.update');                
        Route::post('/user/adjust/{id}', 'UserController@adjust')->name('admin.user.adjust');
        Route::get('/user/get/{username}', 'UserController@getUserByUsername')->name('admin.user.get');

        Route::get('/cron/remove', 'CronController@remove');
    });

堆栈跟踪:

[2019-10-09 17:03:05] production.ERROR: Route [admin.home.index] not defined. (View: /var/www/html/admimsystem/resources/views/admin/layouts/default.blade.php) (View: /var/www/html/admimsystem/resources/views/admin/layouts/default.blade.php) {"userId":780616,"exception":"[object] (ErrorException(code: 0): Route [admin.home.index] not defined. (View: /var/www/html/admimsystem/resources/views/admin/layouts/default.blade.php) (View: /var/www/html/admimsystem/resources/views/admin/layouts/default.blade.php) at /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:374, ErrorException(code: 0): Route [admin.home.index] not defined. (View: /var/www/html/admimsystem/resources/views/admin/layouts/default.blade.php) at /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:374, InvalidArgumentException(code: 0): Route [admin.home.index] not defined. at /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:374)
[stacktrace]
#0 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(45): Illuminate\\View\\Engines\\CompilerEngine->handleViewException(Object(ErrorException), 1)
#1 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(59): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/var/www/html/y...', Array)
#2 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/View/View.php(142): Illuminate\\View\\Engines\\CompilerEngine->get('/var/www/html/y...', Array)
#3 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/View/View.php(125): Illuminate\\View\\View->getContents()
#4 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/View/View.php(90): Illuminate\\View\\View->renderContents()
#5 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Http/Response.php(42): Illuminate\\View\\View->render()
#6 /var/www/html/admimsystem/vendor/symfony/http-foundation/Response.php(202): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#7 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Routing/Router.php(747): Symfony\\Component\\HttpFoundation\\Response->__construct(Object(Illuminate\\View\\View))
#8 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Routing/Router.php(719): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#9 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Routing/Router.php(679): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#10 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 /var/www/html/admimsystem/app/Http/Controllers/Controller.php(24): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#12 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(133): App\\Http\\Controllers\\Controller->App\\Http\\Controllers\\{closure}(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(43): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#15 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Illuminate\\Auth\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'admin')
#16 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#18 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(75): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#21 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Session/Middleware/AuthenticateSession.php(39): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#24 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Illuminate\\Session\\Middleware\\AuthenticateSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#27 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#30 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#33 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(66): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#36 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(151): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#39 /var/www/html/admimsystem/vendor/laravel/framework/src/Illuminate/Routing/Router.php(681): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))

【问题讨论】:

  • 显示您的路线列表php artisan route:list
  • 这并不总是发生,当我导航到页面时它会随机发生并且会得到错误 500,刷新后它再次起作用。

标签: php laravel laravel-5


【解决方案1】:

按照以下步骤操作:

  1. 转到路线文件夹
  2. 寻找 web.php 文件
  3. 使用此代码编辑文件:Route::get('customURL','YourController@defaultmethod')->name('admin.home.index');
  4. 保存并查看更改
  5. 如果不起作用,请尝试再次使用这些命令 php工匠配置:清除 php artisan 缓存:清除

【讨论】:

    【解决方案2】:

    在您的 web.php 文件中添加特定命名路由。 See named routes 在 laravel 中定义:

    Route::get('your-url','YourController@yourfunction')->name('admin.home.index');
    

    【讨论】:

      【解决方案3】:
      1. 转到 web.php
      2. php 工匠路线:列表
      3. 使用控制器检查路由 https://laravel.com/docs/9.x/routing

      【讨论】:

        猜你喜欢
        • 2018-06-30
        • 2018-12-16
        • 2015-01-16
        • 2019-05-03
        • 2019-05-12
        • 1970-01-01
        • 2020-08-16
        • 2019-09-10
        相关资源
        最近更新 更多