Установка 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:  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 /home/user123/php.ini
* - user123 (название вашего аккаунта хотинга - оно у вас будет своё!)
И вставляем в него примерное содержимого будущего php.ini

[PHP]
;open_basedir =/home:/tmp:/usr:/var/lib/php5
realpath_cache_size=4096k
realpath_cache_ttl=1200
expose_php = Off
max_execution_time = 30
max_input_time = 60
memory_limit = 128M
error_reporting  =  E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED 
log_errors = On
ignore_repeated_errors = On
variables_order = "EGPCS"
register_globals = Off
magic_quotes_gpc = Off
cgi.force_redirect = 1
cgi.fix_pathinfo = 0
upload_tmp_dir = "/tmp"
upload_max_filesize = 300M
post_max_size = 300M
max_file_uploads = 100
default_socket_timeout = 3
date.timezone = "Europe/Moscow"
pcre.recursion_limit=10000
mail.add_x_header = On
mysql.connect_timeout = 3
session.save_path = "/var/lib/php5/sessions"
session.gc_probability = 0
short_open_tag = On
default_charset = ""
opcache.max_accelerated_files=10000
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.enable_cli=1

[Modules]
;disable_functions = link, symlink, dl, system, shell_exec, exec, passthru, popen, proc_open, proc_nice
zend_extension = /usr/lib/php5/20131226/ioncube_loader_lin_5.6.so

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

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

После успешного скачивания появится примерно такая информация:

All settings correct for using Composer
Downloading 1.1.3...
Composer successfully installed to: /home/user123/composer.phar
Use it: php /home/user123/composer.phar

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

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

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