4.2. 如何使用脚本安装 Composer?
我们如何以编程的方式安装 Composer?
如下载页面所指出的,这个安装程序包含一个签名,当安装程序代码发生改变时,它会随之发生改变,因此不应该长期依赖。
还有另一种方法,就是使用只对 UNIX 实用程序工作的脚本:
#!/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 服务器,提交hash就足以让它具有唯一性和真实性。例如:
wget https://raw.githubusercontent.com/composer/getcomposer.org/1b137f8bf6db3e79a38a5bc45324414a6b1f9df2/web/installer -O - -q | php -- --quiet
你可以在最后一次提交的基础上提交替换任何内容的 hash:
github.com/composer/getcomposer.or...
本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
推荐文章: