Laravel加载URL中JSON文件时出现'Target class不存在'错误求助
解决Laravel "Target class [App\Http\Controllers\SiteController] does not exist" 错误
以下是排查和解决问题的关键步骤:
检查目录与文件名大小写
Laravel遵循PSR-4自动加载规范,路径大小写严格敏感:- 确认控制器所在目录为
app/Http/Controllers(注意Http首字母大写,而非小写http) - 控制器文件名必须是
SiteController.php(首字母大写,与类名完全一致)
- 确认控制器所在目录为
刷新Composer自动加载缓存
执行命令更新自动加载映射,让Composer识别新创建的控制器:composer dump-autoload验证控制器类与命名空间
确认控制器文件中的命名空间和类名完全匹配:namespace App\Http\Controllers; // 命名空间必须正确 class SiteController extends Controller { ... } // 类名需与文件名一致检查路由引用
你的路由写法在Laravel 8+版本中是正确的,需确保use App\Http\Controllers\SiteController;语句无拼写错误,路由定义无误:Route::get('/data', [SiteController::class, 'index']);
若以上操作后问题仍存在,可尝试清除Laravel缓存:
php artisan config:clear php artisan route:clear
内容的提问来源于stack exchange,提问作者Nicole Jaffke
相关产品推荐
相关产品推荐

