Если вашим сервером развертывания является Linux, в основном, потому что путь чувствителен к регистру.
Если ваш composer.json
содержит раздел, такой как ниже
...
"autoload": {
"psr-4": {
"App\\": "app"
},
},
...
Ожидается автозагрузка Composer PSR-4найти класс
\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
Именно поэтому он работает на вашей машине разработки, но не на сервере развертывания.
Так чтоРешение состоит в том, чтобы переименовать любой каталог / файлы в соответствии с его регистром, а также убедиться, что все файлы скопированы на сервер развертывания.
После изменения регистра / имени файла, запустите
$ composer dump-autoload
, поэтому будет создан новый файл автозагрузки.