Как использовать composer на хостинге

Одной из множества проблем над которой ломают голову веб-разработчики связана с зависимостями. У нас всех была ситуация, когда внедрение новых пакетов в ваш проект приносило больше проблем, чем собственно пользы.

Эта проблема особенно часто проявляется у PHP разработчиков. Это вполне обычная ситуация, когда программисты постоянно создают такие модули как персистентность данных с нуля. В результате – огромная трата ресурсов на дополнительные задачи – задачи, которые в противном случае могли бы быть выполнены с помощью уже существующих решений.

Composer – это удобный и простой менеджер зависимостей для PHP. Некоторые из вас, возможно уже знакомы с похожими менеджерами зависимостей, такими как PIP для Python или NPM для Node.js. Однако Composer поможет решить проблему со всеми зависимостями вашего проекта в одном месте.

Одна из функций Composer, которая заметно выделяет его среди других программ для управления зависимостями, таких как PEAR, это возможность решать зависимости на основе каждого проекта. Composer управляет зависимостями каждого из ваших проектов отдельно. Это означает, что у вас не будет неиспользуемых библиотек – неплохой бонус к уменьшению размера вашего проекта. Надо также упомянуть, что вы можете установить пакеты по всей системе с помощью Composer. Это можно сделать с помощью специальной глобальной команды, однако, мы не будем сильно углубляться в эту тему, просто из соображения сохранения простоты и удобства.

В этом руководстве вы узнаете, как установить Composer, чтобы использовать его в своих будущих PHP проектах. Просто следуйте этому пошаговому руководству и вы легко со всем справитесь.

Перед тем, как вы начнете это руководство, вам понадобится следующее:

  • Доступ к интерфейсу командной строки

Самый первый и самый легкий шаг – установка Composer на ваш компьютер. Здесь вы найдете руководство по установке Composer как на Linux, так и на Windows. Даже узнаете, как установить его на виртуальный хостинг Hostinger. Мы не забыли о пользователях Mac, просто откройте ваш терминал и следуйте инструкциям из Linux раздела. Ниже показаны три разных способа установки Composer.

Вариант 1 Установка Composer на виртуальный хостинг Hostinger

ВАЖНО! Composer теперь является предустановленной программой для премиум и бизнес тарифов Hostinger. Если вы являетесь одним из них, просто перейдите к следующему шагу.

Вы легко можете установить и запустить Composer на премиум и бизнес тарифах Hostinger! Мы будем использовать для этого скрипт, он автоматически скачает и установит последнюю версию Composer:

  1. Во-первых, вам необходимо подключиться к вашему хостинг аккаунту через SSH. Вы можете найти подробные инструкции о том, как это сделать здесь.
  2. Теперь, создайте новый файл используя текстовый редактор nano и назовите его composer-installer.sh:
  1. Команда выше откроет ваш файл в текстовом редакторе nano. Вставьте данный код в файл:

Этот скрипт скачает последнюю версию Composer, проверит его подпись и если она правильная, то продолжит установку.

  1. Сохраните изменения и выйдите из текстового редактора, нажав сочетание клавиш CTRL (CMD для MacOS) + X , Y и затем ENTER.
  2. Теперь выполните скрипт следующей командой:
  1. Если установка будет успешной, вы не увидите никаких надписей. Для проверки правильности установки введите:
  1. Вы должны увидеть подобный результат:

Как видно по результату выше установка Composer прошла успешно. Теперь вы узнали, как установить Composer на Hostinger!

Большинство PHP разработчиков используют для своих проектов операционные системы Mac или Linux, поэтому этот раздел особенно важен. Процесс довольно схож на обеих системах. Чтобы установить Composer, вам необходимо ввести в терминал одинаковые для обеих систем команды.

ЗАМЕТКА! В целях обучения, здесь мы будем использовать отдельные команды вместо целого скрипта. Часть из них меняется при выходе новых версий Composer. Поэтому, проверьте их здесь перед началом установки.

Для пользователей Mac/Linux есть два варианта установки Composer:

Не самый популярный вариант, но вы можете установить Composer локально. Это означает, что ваша ОС не сможет запустить Composer без указания пути до него. Чтобы начать установку следуйте этим этапам:

  1. Откройте ваш терминал и подключитесь к вашему серверу через SSH.
  2. Выполните эти две команды:
  1. Первая захватит установщик Composer как PHAR файл (PHP архив), тогда как вторая обеспечит, что установщик не имеет каких-либо ошибок или повреждений. После выполнения этих команд на вашем диске появиться последняя версия установщика Composer.
  2. Установите Composer с помощью этой команды:
  1. Вы можете изменить каталог для установки и имя файла через параметры –install-dir и –filename. Из прошлой команды можно узнать, что каталог установки был bin, а имя под которым он был установлен было composer.
  2. Теперь, когда вы установили Composer, можно смело запустить его этой командой:

После локальной установки, мы рекомендуем сделать Composer доступным глобально. Это обеспечит возможность его запуска из любой точки вашей системы, в независимости от расположения. Мы сделаем это добавив Composer к переменной PATH.

Для того этого вам понадобится:

  1. Следуйте инструкциям из Локальной установки.
  2. Затем, запустите данную команду:
  1. Теперь вы можете запускать Composer независимо от вашего текущего расположения в терминале.
  2. Для запуска Composer выполните команду:

Поздравляем! Теперь вы узнали, как установить Composer на вашу систему.

Как и со многими другими программами, начать работу с Composer гораздо легче на Windows. Не нужно каких-либо команд для установки и загрузки Composer. Просто следуйте данным этапам:

  1. Скачайте последнюю версию Composer отсюда.
  2. После окончания загрузки, запустите мастер установки Composer. Процесс довольно прост и займет не более 5 минут.

  1. После окончания процесса установки, откройте командную строку. Для этого нажмите сочетание клавиш CTRL + R, впишите cmd и нажмите кнопку OK.
  2. В командной строке впишите следующее:

Вуаля! Вы узнали, как установить Composer на компьютер под операционной системой Windows. Установщик автоматически добавит Composer в вашу переменную PATH. Вы сможете открыть командную строку и запустить Composer в любом месте.

Теперь перейдем к самой интересной части – первое использование Composer для вашего PHP проекта. Для этого, создайте отдельный файл composer.json. Этот файл служит своего рода шпаргалкой для Composer; он будет загружать для вашего проекта только те пакеты (зависимости), которые в нем упомянуты.

Обратите внимание, что он также проверяет совместимость версий пакетов для вашего проекта. К примеру, если вы используете старый пакет в вашем проекте, файл composer.json даст вам об этом знать для избежания возможных проблем в будущем. У вас есть возможность создавать и обновлять файл composer.json самостоятельно. Но так как это руководство показывает, как автоматизировать некоторые задачи, этот способ будет слегка неуместен.

Давайте продемонстрируем полезность composer.json создав образец проекта. Наш проект – это простой таймер PHP, позволяющий разработчикам узнать сколько времени тратиться на выполнение той или иной части кода. Это очень полезно при оптимизации и отладке. Следуйте данным этапам для создания своего проекта:

  1. Создайте новую папку для проекта. Так как наш проект это таймер, мы назовем его немного неоригинально, phptimer. Для этого впишите эту команду:
  1. Войдите в созданную папку с помощью команды:
  1. Теперь вам нужен пакет или библиотека с уже реализованным в нем таймером PHP. Лучшее место для поиска пакетов это Packagist – официальное хранилище пакетов созданных для Composer. Здесь вы сможете найти все виды библиотек для облегчения вашей ноши разработчика. Для данного руководство нам понадобиться пакет или библиотека с таймером. Для этого впишите ‘timer’ в поисковое поле, как на картинке снизу:

  1. Как вы видите на сайте имеется множество таймеров для разработчиков сайтов. Каждый пакет имеет свое имя и краткое описание. Напротив каждого из пакетов есть счетчик скачиваний, вместе со счетчиком звезд GitHub. Давайте скачаем phpunit/php-timer (7-ой в списке) так как у него больше всего скачиваний и звезд GitHub. Обратите внимание, что каждый из пакетов имеет следующий формат: поставщик/пакет [phpunit/php-timer]. Это также называют пространством имен. Оно должно быть уникальным для каждого из пакетов на Packagist, так как оно используется для определения различных пакетов.
  2. После выбора пакета для установки, нам необходимо уведомить Composer о вашем выборе, чтобы он добавил его в ваш проект. Для этого впишите следующую команду в терминал:

После выполнения команды, Composer создаст в папке вашего проекта два файла (composer.json и composer.lock), в дополнение к новой папке под названием vendor.

Папка vendor это то место, где Composer хранит все пакеты и зависимости. Это довольно удобно, если вы хотите скопировать все пакеты из одной системы на другую. Однако мы настоятельно не рекомендуем это делать, так как это потребует ручного обновления файла composer.json, уже не говоря о беспорядке к которому это может привести. Еще один совет для тех, кто использует VCS (систему контроля версий) вроде Git; не добавляйте файл vendor в ваш репозиторий.

Говоря о версиях пакета, после выполнения команды выше, вы увидите строку с данными о версии скачанного Composer пакета phpunit/php-timer. В нашем случае она выглядит так:

Знак вставки (^) определяется Composer, как опция ‘максимальной совместимости.’ Это означает, что когда этот знак появляется возле версии, Composer разрешит обновление пакета, если он конечно не приведет к ошибкам. В нашем случае, Composer позволит обновление в диапазоне >=1.0.9

По материалам www.hostinger.ru

  • файл http://api.odtu.lu/composer.phar
  • http://api.odtu.lu/phpinfo.php
  • FTP-доступ
  • Cpanel
  • Работы Cron на FreeBSD
  • PHP, Perl, CGI-BIN, Python, Curl.

Как установить Composer? (Моя цель – установить Restler )

Изменить: у меня нет доступа к SSH.

Это зависит от хоста, но вы, вероятно, просто не можете (вы не можете на моем общем хосте на Rackspace Cloud Sites – я спросил их).

Что вы можете сделать, так это настроить среду на вашем компьютере-разработчике, которая примерно соответствует вашему общему хосту, и сделать все ваше управление через локальную команду. Затем, когда все установлено (вы втягиваете все зависимости, обновляетесь, управляетесь с помощью git и т. Д.), Вы можете «нажимать» это на свой общий хост через FTP.

Этот учебник работал для меня, решая мои проблемы с разрешениями / usr / local / bin и php-cli (какой композитор требует и может по-разному использовать на хостинге).

Сначала запустите эти команды для загрузки и установки композитора:

Определите местоположение вашего php-cli (необходимо позже):

(Если приведенное выше сбой, используйте тот which php )

Он должен возвращать путь, например / usr / bin / php-cli, / usr / php / 54 / usr / bin / php-cli и т. Д.

/ .bashrc и убедитесь, что эта строка находится наверху, добавив ее, если это не так:

и затем добавьте этот псевдоним в нижнюю часть (используя путь php-cli, который вы определили ранее):

Я успешно установил Composer (и Laravel) на моем общем хостинге только с FTP-доступом:

Загрузите и установите PHPShell на общем хостинге

В config.php PHPShell добавьте пользователя и псевдоним:

php = «php -d suhosin.executor.include.whitelist=phar»

Войдите в PHPShell и введите: curl -sS https://getcomposer.org/installer | php curl -sS https://getcomposer.org/installer | php

При успешной установке запустите Composer: php composer.phar

  • Создайте каталог, в который вы хотите установить композитор (скажем, / home / your_username / composer)
  • Перейти к этому каталогу – cd /home/your_username/composer

Затем выполните следующую команду:

php -r «readfile(‘https://getcomposer.org/installer’);» | php

После этого, если вы хотите запустить композитор, вы можете сделать это таким образом (в этом случае вы должны быть в каталоге композитора): php composer.phar

В качестве следующего шага вы можете сделать следующее:

И запускайте команды, как вы это делаете: $ composer install

Я смог установить композитор на хостинг HostGator. Войдите в систему SSH с помощью Putty, сразу после входа в систему вы должны находиться в своем домашнем каталоге, который обычно является / home / username, где имя пользователя – ваше имя пользователя. Затем выполнил команду завивки, отправленную @niutech выше. Это загрузило композитора в мой домашний каталог, и теперь он доступен и работает хорошо.

ПРОСТОЕ РЕШЕНИЕ (проверено на Red Hat):

команда run: curl -sS https://getcomposer.org/installer | php curl -sS https://getcomposer.org/installer | php

использовать его: php composer.phar

SYSTEM WIDE SOLLUTION (проверено на Red Hat):

команда запуска: mv composer.phar /usr/local/bin/composer

использовать его: composer update

теперь вы можете вызывать композитор из любого каталога.

Большую часть времени вы не можете – в зависимости от хоста. Вы можете связаться с группой поддержки, на которой подписан ваш хостинг, и если они подтвердят, что это действительно не разрешено, вы можете просто настроить композитор на своем компьютере-разработчике, а также зафиксировать и направить все зависимости на ваш живой сервер с помощью Git или любого другого Вы предпочитаете.

По материалам ruphp.com