Чтобы установить Composer на моем общем хосте, я перешел из своего домашнего каталога:
$ curl -sS https://getcomposer.org/installer | php -- --install-dir=bin
Затем мне сказали запустить: $ php bin/composer.phar
И после этого я смог использовать Composer, подтвержденный при запуске:
$ composer.phar -V
Composer version 1.0-dev
Может кто-нибудь объяснить команду php bin/composer.phar
?
Это просто говорит php распаковать файл.phar? Если да, то где он ее распаковывает? Я вижу bin/bin/composer.phar*
после запуска. Затем мне нужно запустить композитор, используя весь путь к файлу phar, если я не в домашнем каталоге.
Файл .phar
является ZIP-подобным файлом, который содержит все файлы, которые составляют приложение PHP, и некоторый начальный код в заголовке файла, который устанавливает некоторые вещи, а затем передает выполнение в первый заархивированный файл.
Команда php bin/composer.phar
вызывает PHP и дает файл phar в качестве параметра, чтобы заставить PHP выполнить этот файл. Это заставит PHP прочитать этот файл, найти заголовок с кодом начальной загрузки и выполнить его. PHP будет инициализировать выполнение PHAR и перейти дальше в этот сжатый файл.
Команда composer.phar
будет работать только в том случае, если этот файл был помечен флагом файла x, чтобы сделать его исполняемым, и он помещается в каталог, указанный в $PATH
среды $PATH
. Часть файла PHAR - это первая строка заголовка файла, которая называется "shebang". Эта строка используется во всех файлах сценариев для командной строки, чтобы указать интерпретатор, который должен использоваться для выполнения файла. В случае с composer.phar
этот интерпретатор является PHP. Таким образом, по сути, происходит то же самое, что и при первом вызове: PHP "запускает" файл PHAR, но с меньшим количеством ввода в командной строке.