Laravel控制器不存在,但实际上存在

Laravel Controller does not exist, but actually it does

我的控制器有问题。在我的本地仓库中,我 serve 项目有效! route: at web.php Route::get('/jobs', 'one\jobs\JobsController@index'); 但是当我在我公司的服务器上尝试时,它没有用! 说controller不存在我对比了controller和web路由,和我本地的是一样的

这是我的控制器:

App\Http\Controllers\one\Jobs\JobsController;

    <?php
    
    namespace App\Http\Controllers\one\Jobs;
    
    use App\Http\Controllers\Controller;
    use Illuminate\Http\Request;
    use App\Library\One\ApiLibrary;
    use Alert;
    
    class JobsController extends Controller
    {
        public function __construct()
        {
            $this->apiLib = new ApiLibrary;
        }
        /**
         * Display a listing of the resource.
         *
         * @return \Illuminate\Http\Response
         */
        public function index(Request $request)
        {
            $token = $request->session()->get('token');
            $put['data'] = ['token' => $token];
            
            $this->apiLib->setParams($put['data']);
            $result = $this->apiLib->generate('GET','/api/jobs');
            
            if(!empty($result->status))
            {
                $data = $result->data;
                $action = $result->action->original;
    
                return view('one.jobs.jobsList',compact('data', 'action'));
            }else{
                $err_messages = "Server Error"; 
                return view('one.errors.errors', compact('err_messages'));
            }
        }
    }

知道如何解决这个问题吗?提前致谢!

您引用控制器的方式有误:

Route::get('/jobs', 'one\jobs\JobsController@index');

应该是:

Route::get('/jobs', 'one\Jobs\JobsController@index');

您在控制器 namespace 中使用大写字母 J,但在 web.php 中引用它时使用小写字母 j。这些东西区分大小写,并且应该与 psr-4 自动加载的文件和文件夹的命名相匹配。