Как отмечено на странице загрузки, сценарий установки содержит подпись, которая изменяется, когда изменяется код установщика, и поэтому на нее не следует полагаться в долгосрочной перспективе. Альтернативой является использование этого скрипта, который работает только с 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. |