You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 10 JWT API本地正常部署后报错:目标控制器不存在

解决Laravel 10部署后“Target class [App\Http\Controllers\TestController] does not exist”错误

问题背景

使用Laravel 10搭建集成JWT的API项目,本地环境运行正常,但部署到服务器后出现错误:Target class [App\Http\Controllers\TestController] does not exist。

控制器代码

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class TestController extends Controller
 {
      function index()
        {
           $test = ['Test 1', 'Test 2', 'Test 3'];
           return response()->json([
                'test' => $test,
            ]);
        }
  }

路由api.php代码

use App\Http\Controllers\TestController;
//
Route::group(['prefix' => 'v1'], function () {
Route::get('/test', [TestController::class, 'index']); 
});

本地请求正常返回结果:

// 20230724104212
// http://localhost:8000/api/v1/test

{
 "test": [
 "Test 1",
 "Test 2",
 "Test 3"
 ]
}

解决步骤

  • 检查文件路径与大小写
    本地Windows系统不区分文件大小写,但服务器多为Linux系统,严格区分大小写。确认服务器上控制器文件路径为app/Http/Controllers/TestController.php,文件名TestController.php的大小写和类名TestController完全一致。

  • 清除Laravel缓存
    部署后缓存可能未更新,导致路由映射异常,在服务器终端执行以下命令:

    php artisan cache:clear
    php artisan route:clear
    php artisan config:clear
    php artisan optimize:clear
    
  • 更新Composer自动加载
    重新生成类映射文件,确保Composer能正确识别控制器类:

    composer dump-autoload
    
  • 确认命名空间与类名一致性
    再次检查控制器文件中的命名空间namespace App\Http\Controllers;是否正确,类名class TestController extends Controller必须和文件名完全匹配。

内容的提问来源于stack exchange,提问作者Edi Prasetyo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 04:24:51