如何以编程方式安装 Composer?#
如下载页面所述,安装程序脚本包含一个校验和,该校验和在安装程序代码更改时会发生变化,因此从长远来看不应依赖于它。
另一种方法是使用此脚本,该脚本仅适用于 UNIX 工具。
#!/bin/sh
EXPECTED_CHECKSUM="$(php -r 'copy("https://composer.github.io/installer.sig", "php://stdout");')"
php -r "copy('https://getcomposer.org.cn/installer', 'composer-setup.php');"
ACTUAL_CHECKSUM="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"
if [ "$EXPECTED_CHECKSUM" != "$ACTUAL_CHECKSUM" ]
then
>&2 echo 'ERROR: Invalid installer checksum'
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/76a7060ccb93902cd7576b67264ad91c8a2700e2/web/installer -O - -q | php -- --quiet
您可以将提交哈希替换为 https://github.com/composer/getcomposer.org/commits/main 上的最新提交哈希。
发现错误了吗?文档中存在错误吗?分叉并编辑 它!