Файл composer.json, который никогда не используется во время выполнения.В любом случае, он не используется, он используется только командой composer.Если вы не запускаете composer
на своем рабочем компьютере, вам не нужно загружать его.
Ваш проект не терпит неудачу, потому что «вы не развертываете composer.json» с кодом, а потому, что вывыгрузите автозагрузчик, имеющий определенную структуру, которую вы на самом деле упоминаете в своей конфигурации composer.json
, а затем попытаетесь запустить сервер с другой структурой каталогов.
При запуске composer install
и composer dumpautoloader
ваш проект выглядит следующим образом:
composer.json
src/ <--- this is where autoloader looks for your files.
--- yourCode/
--- moreCode/
--- vendor/
------ autoloader.php
Но тогда на вашем сервере вы на своем сервере получаете
yourCode/
moreCode/
vendor/
--- autoload.php <--- this can't find the 'src' directory
Решение не в том, чтобы загружать содержимое вашего каталога src
, но сам каталог src
.
Любой другой сценарий, которому необходимо использовать автозагрузчик и остальную часть кода, должен просто включать /var/www/test/src/vendor/autoload.php
, и все будет работать какэто должно быть.
Если вы не хотите, чтобы каталог src
находился внутри test
, то его не должно быть при генерации автозагрузчика.Не делайте вашу среду разработки и промежуточную среду отличной от вашей рабочей среды.
Единственная альтернатива, которую вы можете сделать на сборочной машине:
- run
composer install
- переместить
composer.json
в src
- изменить
composer.json
, поэтому пути, объявленные в ключе autoload
, не включают src
- run
composer dumpautoload
- удалить
composer.json
- загрузить
src
содержимое.
Работа не гарантируется и это хрупкое решение, но проблема в том, что вы пытаетесь использовать инструмент вспособ, который противоречит конструкции инструмента.