Что делает команда php bin / composer.phar?

1

Чтобы установить 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, если я не в домашнем каталоге.

  • 1
    Phars просто распаковываются в памяти: php.net/manual/en/intro.phar.php , также когда они запускаются как скрипт вызова CLI.
  • 0
    если у вас есть composer.json, то при вызове composer.phar composer устанавливает необходимые фреймворки / модули / приложения и т. д., которые перечислены в вашем файле composer.json.
Теги:
composer-php
phar

1 ответ

2
Лучший ответ

Файл .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, но с меньшим количеством ввода в командной строке.

  • 0
    (Однако не все архивы Phar являются действительными ZIP-файлами. Существует три разновидности, наиболее распространенным из которых является пользовательский двоичный формат Phar. - Самому Composer не удается извлечь ZIP-Phars.)
  • 0
    Я исправил ссылку на ZIP как формат файла. PHP поддерживает собственный формат Phar, а также TAR и ZIP, причем первый предпочтительнее двух последних.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню