Class 未找到 [Laravel 5.5,生产项目]

Class not found [ Laravel 5.5, production project]

我正在与 Laravel 5.5 合作。我将我的项目上传到服务器。但是我得到了错误,我的项目在本地服务器上运行良好。

Class 'App\Models\Textbox\TextBox' not found Symfony\Component\Debug\Exception\FatalThrowableError

我知道,我只是 运行 composer dump-autoload 并且它工作正常。但主要问题是主要托管服务器是 bluehost/cpanel。我不能 运行 使用 shell 的任何命令,因为它说 你的帐户未验证 我不能这样做,因为帐户不是我的。

但我寻找了替代解决方案,只是在本地服务器 运行 dump-autoload 之后将这些文件夹上传到服务器。

\bootstrap
\vendor\composer

但是没用。最后我只上传了所有 vendor 文件夹,但没有得到任何结果。

我必须 运行 dump-autoload 只有服务器 commandline/bash 吗?
我可以在服务器中没有 运行 任何 commandline 查询的情况下解决这个问题吗?

P.S。我查看了 google 中的所有相关问题和所有解决方案,但我无法为工作做好准备:(

这是我的文件夹结构:

记住你的 class 名字。

如您所见,出现错误:

App\Models\Textbox\TextBox

但是你的 class 是:

App\Models\TextBox\TextBox

如您所见,目录/命名空间是大写字母 B。

这对于作曲家自动加载具有完全相同的 class 名称和目录以及有效大小写很重要(假设您使用的是 PSR-4 但这是 Laravel 的默认设置)。

在 Windows file/directory 大小写无关紧要,因此您也可以编写命名空间 TEXTBOX(对于 Windows TEXTBOX 目录与 textbox), 但在 Linux 服务器上没有 TEXTBOX 目录,也没有 Textbox 目录 - 只有 TextBox 目录所以无法自动加载 class 这就是为什么您在生产环境和本地主机上工作正常的错误。