Установка готового скрипта на Framework Laravel 7-8 в другую папку
Здравствуйте дорогие формучане! Помогите разобраться как правильно установить готовый скрипт или CMS который был написан на Framework Laravel в другую папку например /111/ (не в корень сайта),а именно в указанную папку. При загрузке файлов в site.ru/111/ должна начаться установка скаченного скрипта, место этого вот эта ошибка:
Warning: require(site.ru\111\public/../vendor/autoload.php): failed to open stream: No such file or directory in site.ru\111\public\index.php on line 24
Fatal error: require(): Failed opening required 'site.ru\111\public/../vendor/autoload.php' (include_path='.') in site.ru\111\public\index.php on line 24
Подскажите пожалуйста как поправить путь чтобы скрипт работал в данной папке?
Ответы (1 шт):
Правильнее было бы назвать приложение на Laravel не скриптом, а приложением. Приложение имеет определённую структуру. Есть точка вхда в приложение -- скрипт, который обрабатывает все запросы -- public/index.php. Как я понял, вам удалось настроить ваш сервер таким образом, чтобы этот скрипт запускался при обращении к site.ru/111.
index.php использует автозагрузчик composer'а. Composer -- эта такая утилита, которая позволяет вам устанавливать библиотеки сторонних разработчиков (это важная часть инфраструктуры разработки на php, обязательно разберитесь что это такое). Ваш index.php сообщает вам, что не может найти файл автозагрузчика composer. Это значит, что вы ещё не устанавливали зависимости вашего приложения.
Чтобы установить зависимости вашего приложения, вам надо на сервере, в директории с приложением вызвать команду composer install --no-dev. Composer должен быть установлен (например, просто скачайте phar-файл). На сервере это надо сделать, потому что composer обращает внимание на окружение (версию php, установленные расширения).
Когда composer установит все необходимые зависимости, он сгенерирует файл автозагрузчика autoload.php. После этого ваш index.php уже не будет ругаться на его отсутствие.