Как программно установить Composer?

Как отмечено на странице загрузки, сценарий установки содержит подпись, которая изменяется, когда изменяется код установщика, и поэтому на нее не следует полагаться в долгосрочной перспективе.

Альтернативой является использование этого скрипта, который работает только с unix utils:

#!/bin/sh

EXPECTED_SIGNATURE=$(wget -q -O - https://composer.github.io/installer.sig)
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
ACTUAL_SIGNATURE=$(php -r "echo hash_file('SHA384', 'composer-setup.php');")

if [ "$EXPECTED_SIGNATURE" != "$ACTUAL_SIGNATURE" ]
then
 >&2 echo 'ERROR: Invalid installer signature'
 rm composer-setup.php
 exit 1
fi

php composer-setup.php --quiet
RESULT=$?
rm composer-setup.php
exit $RESULT

Скрипт выйдет с 1 в случае сбоя или 0 при успешном завершении и будет тих, если не произойдет ошибка.

Кроме того, если вы хотите полагаться на точную копию установщика, вы можете получить конкретную версию из истории github. Хеш-коммит должен быть достаточным, чтобы придать ему уникальность и подлинность, пока вы можете доверять серверам GitHub. Например:

wget https://raw.githubusercontent.com/composer/getcomposer.org/1b137f8bf6db3e79a38a5bc45324414a6b1f9df2/web/installer -O - -q | php -- --quiet

Вы можете заменить хеш коммита любым последним хешем коммита на https://github.com/composer/getcomposer.org/commits/master.