Файлы
Composer (как каталог vendor
, так и сами файлы composer.json
и composer.lock
) не должны находиться в общедоступном месте.
Но сделать это невозможно создать .htaccess
или нечто подобное в веб-сервере, отличном от Apache. То, что вы должны сделать, это обслуживать каталог, отличный от каталога, содержащего эти каталог и файлы. Не изменяя имя vendor
, как вы это делаете.
Для большинства (если не для всех) основ composer основ, как правило, это делается для создания "publi c" или " каталог "web", который вы бы сконфигурировали на своем веб-сервере для фактического обслуживания, и поместите туда файл (ы) записи приложения. точка будет public
в этом сценарии. Таким образом, посещающие пользователи не могут напрямую видеть ничего, что находится вне этого каталога.
Чтобы загрузить автозагрузчик composer, чтобы все классы пакетов были доступны, вы просто делаете что-то вроде:
// public/index.php
require dirname( __DIR__ ) . '/vendor/autoload.php';
/* your application/script logic goes here /*
Таким образом, вы также можете поместить любой другой файл, который не должен быть доступен пользователю (конфигурация, журналы, кэш и т. Д. c), на один уровень выше общедоступного каталога, и у вас меньше работы для защиты ваших конфиденциальных файлов.