Ошибка SLIM :: AuthController не найден, когда приложение SLIM размещено на сервере - PullRequest
0 голосов
/ 29 сентября 2018

У меня есть приложение REST API с использованием инфраструктуры SLIM.Ниже структура моего приложения dir enter image description here

Ниже структура в моих контроллерах dir

enter image description here

Authcontroller.php находится в папке Auth.

Ниже приведены пространства имен, присвоенные ActionController и Authcontroller enter image description here enter image description here

Оба контроллера (Action и Auth) определены в контейнере, как показано ниже в mainapp enter image description here

Вышеуказанное приложение работает нормально на моем локальном хосте, но когда я загружаю то же самое на мой сервер, в строке выше 58 enter image description here

Пожалуйста, помогите мне здесь, я схожу с ума, изменил около 3 хостинг-серверов (SHARED-HOSTING), но все равно та же ошибка. ПОЖАЛУЙСТА, ПОМОГИТЕ !!

1 Ответ

0 голосов
/ 29 сентября 2018

Если вашим сервером развертывания является 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

, поэтому будет создан новый файл автозагрузки.

...