Чтобы перейти в PHP Composer:
В нем доступно:
Также на этой форме перечислены установленные зависимости с их названием, версией и описанием.
Вызов команды PHP Composer install.
Устанавливает зависимости PHP, описанные в файле composer.json, расположенном в корневом каталоге сайта.
Проект, использующий PHP Composer содержит конфигурационный файл composer.json, который используется для установки зависимостей. Файл composer.json является основным файлом настройки PHP Composer. Cодержит в себе список зависимостей, настройки репозиториев и другое.
Пример composer.json:
{
"require": {
"monolog/monolog": ">=1.0.2 <2.1.2"
},
"description": "This example",
"keywords": ["testing", "example"],
"type": "project",
"version": "1.0.0",
"homepage": "https://example.com",
"readme": "readme.md",
"license": "MIT",
"authors": [{
"name": "User",
"email": "user@example.com",
"homepage": "https://www.example.com",
"role": "Developer"
}],
"support": {
"email": "support@example.org"
}
}
Описание примера composer.json:
Shell-клиент позволяет выполнять в терминале дополнительные команды PHP Composer и другие команды. Запуск shellinaboxd выполняется под правами владельца сайта. При открытии терминала выполняются следующие действия:
Удаляет выбранные зависимости.
Во время работы PHP Composer в домашней директории сайта создаются следующие служебные файлы и каталоги:
Каталоги защищены правилом Deny from all в htaccess. Исполняемый файла composer.phar работает только на консольной версии PHP.
При выполнении резервного копирования сайта, в метаданных сохраняется значение поля phpcomposer, библиотеки сохраняются в файлах сайта.
Если нет возможности включить PHP Composer, при восстановлении, будет добавлена соответствующая запись в журнал восстановления.
Для того, чтобы служебные файлы и каталоги не были доступны при обращении через браузер, при включении PHP Composer в конфигурационные файлы сайтов добавляются вложения конфигурационных файлов для Nginx, Apache и OpenLiteSpeed, в зависимости от того, что установлено на сервере. Если установлен Nginx + Apache, вложения будут добавлены для них обоих.
Список защищаемых файлов и каталогов:
Если были установлены какие-либо зависимости, то после отключения PHP Composer у сайта остаются добавленные вложения. Это необходимо, чтобы файлы не стали доступны после отключения. Вложения остаются, если в корневом каталоге присутствуют - директория vendor и файл composer.json.
Путь к конфигурационному файлу:
/etc/nginx/modules-includes/phpcomposer/phpcomposer.conf
Конфигурационный файл:
location ~* ^(/composer\.(json|lock|phar)$)|(/(vendor|.config|.cache|.local)/) { deny all;}
Путь к конфигурационному файлу в Debian системах:
/etc/apache2/modules-includes/phpcomposer/phpcomposer.conf
Путь к конфигурационному файлу в RedHat системах:
/etc/httpd/modules-includes/phpcomposer/phpcomposer.conf
Конфигурационный файл:
<LocationMatch "^(/composer\.(json|lock|phar)$)|(/(vendor|.config|.cache|.local))"> <IfModule mod_authz_core.c> # Apache 2.4 <RequireAny> Require all denied </RequireAny> </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All </IfModule></LocationMatch>
Путь к конфигурационному файлу:
/usr/local/lsws/conf/modules-includes/phpcomposer/phpcomposer.conf
Конфигурационный файл:
context exp: ^(/composer\.(json|lock|phar)$)|((/vendor|.config|.cache|.local)) { allowBrowse 0}