Я работаю с Laravel 5.5. Я загрузил свой проект на сервер. Но я получил ошибку, что мой проект работает нормально на локальном сервере.
Класс ‘App \ Models \ Textbox \ TextBox’ не найден
Symfony \ Component \ Debug \ Exception \ FatalThrowableError
Я знаю, я просто бегу composer dump-autoload
и работает нормально. Но главная проблема заключается в том, что основным хостинг-сервером является bluehost / cpanel. Я не могу запустить любую команду с оболочкой, потому что он говорит ваш аккаунт не подтвержден и я не могу этого сделать, потому что аккаунт не мой.
Но я искал альтернативные решения и просто загрузить эти папки на сервер после запуска dump-autoload
на локальном сервере.
\bootstrap
\vendor\composer
Но это не работает. Наконец я просто загружаю все vendor
папку и не получить никакого результата.
Должен ли я бежать dump-autoload
единственный сервер commandline
/bash
?
Могу ли я решить это без запуска какой-либо commandline
запрос на сервере?
Постскриптум Я посмотрел все связанные вопросы и все решения от Google, но я не могу подготовить его к работе 🙁
Это моя структура папок:
Подумайте о названии вашего класса.
Как видите, вы получаете ошибку:
App\Models\Textbox\TextBox
но ваш класс это:
App\Models\TextBox\TextBox
так как вы видите каталог / пространство имен с большой буквы B.
Это важно для автозагрузки композитора, чтобы иметь точно такое же имя класса и каталог с допустимым регистром (при условии, что вы используете PSR-4
но это по умолчанию для Laravel).
В Windows регистр файлов / каталогов не имеет значения, поэтому вы также можете написать свое пространство имен TEXTBOX (для Windows TEXTBOX
каталог такой же, как textbox
), но на сервере Linux нет TEXTBOX
каталога, нет Textbox
каталог — есть только TextBox
директории, поэтому невозможно будет автоматически загрузить класс, и поэтому вы получаете сообщение об ошибке на рабочем месте, а на локальном хосте все работает нормально.
Других решений пока нет …