SLIM Error :: AuthController not found when SLIM app hosted on server

SLIM Error :: AuthController not found when SLIM app hosted on server

我有一个使用 SLIM 框架的 REST api 应用程序。 下面是我的应用目录结构

下面是我的控制器目录中的结构

Authcontroller.php 在 Auth 文件夹中。

下面是 ActionController 和 Authcontroller 的命名空间

两个控制器(Action 和 Auth)都在主应用程序的容器中定义如下

上面的应用程序在我的本地主机上运行良好,但是当我将相同的内容上传到我的服务器时,它在第 58 行 上出现以下错误

请在这里帮助我,我快要疯了,已经更改了大约 3 个托管服务器(SHARED-HOSTING),但仍然是同样的错误。 请帮忙!!

如果您的部署服务器是 Linux,主要是因为路径区分大小写。

如果您的 composer.json 包含如下部分

...
"autoload": {
    "psr-4": {
        "App\": "app"
    },
},
...

Composer PSR-4 自动加载期望找到 class

\App\Controllers\Auth\AuthController

在文件中

 app\Controllers\Auth\AuthController.php

但是找不到,因为你的是

 app\controllers\Auth\AuthController.php

由于您的开发机器似乎使用默认情况下不区分大小写的 Windows,

 app\controllers\Auth\AuthController.php

等于

 app\Controllers\Auth\AuthController.php

这就是为什么它可以在您的开发机器上运行但不能在部署服务器上运行的原因。

因此解决方案是重命名任何 directory/files 以匹配其大小写,并确保所有文件都复制到部署服务器。

更改 directory/filename 大小写后,运行

$ composer dump-autoload

这样就生成了新的自动加载文件。