Laravel 8 Cpanel部署报Invalid route action错误如何解决
问题根因
- 本地Laragon运行环境为Windows系统,路径大小写不敏感,类导入时的大小写错误不会触发报错
- Cpanel部署环境为Linux系统,路径大小写严格匹配,你在路由文件中导入Livewire组件的路径存在大小写错误:
App\http\Livewire\Logout中的http首字母应当大写为Http,与项目实际目录app/Http/的命名保持一致,否则系统无法定位到对应类,就会抛出无效路由动作的错误。
修复方案
直接修改web.php中三处Livewire类的导入语句,将小写的http替换为大写的Http:
<?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\UserController; // 修正后的导入语句 use App\Http\Livewire\Logout; use App\Http\Livewire\Login; use App\Http\Livewire\Register; Route::group(['middleware' => 'auth'], function() { Route::get('logout', Logout::class)->name('logout'); Route::get('/', function () { return view('welcome'); }); }); Route::group(['middleware'=>'guest'], function(){ Route::get('login', Login::class)->name('login'); Route::get('register', Register::class)->name('register'); });
修改完成后建议执行php artisan route:clear清除路由缓存,即可解决报错问题。
内容的提问来源于stack exchange,提问作者kalecaliber
相关产品推荐
相关产品推荐

