Установка Composer на хостинге

Composer — это пакетный менеджер уровня приложений для языка программирования PHP, который предоставляет средства по управлению зависимостями в PHP-приложении.

Устанавливать Composer на хостинге нужно в корневую папку аккаунта, в пределах вашего FTP. Вначале убедитесь, что на вашем тарифе есть SSH доступ, так как вам нужно подключиться к серверу хостинга по SSH. Данные для подключения по SSH аналогичны данным доступа в хостинг панель. Порт - 9999. Если ваш тариф с SSH, активировать SSH можно в хостинг-панели, раздел Настройки.
Потребуется подключиться к консоли через SSH, в случае Windows, например, с помощью Putty.

Перейдите в корневой каталог вашего FTP с помощью команды cd ~

Создайте алиасы, необходимые для запуска Composer из любой папки в консоли:

echo "alias php='/usr/bin/php5'" >> ~/.bashrc
echo "alias composer='php ~/composer.phar'" >> ~/.bashrc
source ~/.bashrc

Далее, если скачивать Composer со стандартным php.ini, который используется на хостинге, могут возникнуть предупреждения уровня PHP Warning:

PHP Warning:  is_dir(): open_basedir restriction in effect. File(/etc/pki/tls/certs) is not within the allowed path(s): (/home:/tmp:/usr:/var/lib/php5) in - on line 1055

 Warning: is_dir(): open_basedir restriction in effect. File(/etc/pki/tls/certs) is not within the allowed path(s): (/home:/tmp:/usr:/var/lib/php5) in - on line 1055
 PHP Warning:  is_dir(): open_basedir restriction in effect. File(/etc/ssl/certs) is not within the allowed path(s): (/home:/tmp:/usr:/var/lib/php5) in - on line 1055

Эти предупреждения, конечно же, можно игнорировать, но мы поступим иначе и создадим свой php.ini в корневой папке своего аккаунта на FTP, где будет отключен open_basedir.


Загрузите php.ini на FTP или через консоль SSH создайте файл:

nano php.ini

Желательно создавать файл php.ini в пределах корня вашего каталога /home/user12345
Добавим примерное содержимого будущего php.ini

[PHP]
;open_basedir =/home:/tmp:/usr:/var/lib/php5
max_execution_time = 300
max_input_time = 300
memory_limit = 1024M
error_reporting  =  E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED 
ignore_repeated_errors = On
upload_max_filesize = 500M
post_max_size = 500M
max_file_uploads = 100
default_socket_timeout = 30
date.timezone = "Europe/Moscow"
pcre.recursion_limit=15000
[Modules]
disable_functions = 

Скачайте сам Composer, при этом указывайте путь к созданному php.ini через опцию -c.
Так же укажите корневой каталог вашего FTP (user12345 - название вашего аккаунта).

curl -sS https://getcomposer.org/installer | /usr/bin/php5 -c ./php.ini -- --install-dir=./

или

curl -sS https://getcomposer.org/installer | /usr/bin/php5 -c /home/user12345/php.ini -- --install-dir=/home/user12345

В случае возникновения ошибки о том, что команды curl не существует, обратитесь в поддержку через систему запросов с просьбой установить консольный curl.
После успешного скачивания, выдача в консоли будет примерно такой:

All settings correct for using Composer
Downloading...

Composer (version 1.4.2) successfully installed to: /home/user12345/composer.phar
Use it: php ./composer.phar

На этом всё. Для запуска Composer использйте команду:

/usr/bin/php5 composer.phar

Так же можно указывать свой php.ini через опцию -c

php -c /home/user12345/php.ini composer.phar install