为了确保 PHP Composer 在 Ubuntu 20.04 系统上正常运行,需要安装一些依赖项。 这些依赖项包括 git、curl、php-cli 和 unzip。
首先,运行以下代码来检查是否有新的软件包可用,并将可用软件包的列表更新到你的系统中。
sudo apt update
接下来,运行以下命令来安装 php-cli 和 unzip 到你的 Ubuntu 系统中,以便在命令行界面下运行 PHP 脚本并解压缩 ZIP 文件。
sudo apt install php-cli unzip
系统出现提示,输入 Y ,然后输入 ENTER 。
sudo: 这是一个命令,它允许你以管理员或超级用户权限执行后续的命令。
apt: 这是 Ubuntu 系统上的包管理命令行工具。它用于管理软件包的安装、更新和卸载。
install: 这是 apt 命令的参数,表示你要安装指定的软件包。
php-cli: 这是一个 PHP 的命令行版本,它提供了在命令行界面下运行 PHP 脚本的功能。
unzip: 这是一个用于解压缩 ZIP 文件的实用程序,你可以使用它来解压缩包含在 ZIP 文件中的文件和目录。
输入以下命令,切换当前目录到当前用户的主目录(Home目录),这样做有助于组织文件并简化后续的安装步骤。
cd ~
使用 curl 命令从指定的URL下载 Composer 安装脚本,并将其保存到 /tmp/composer-setup.php 文件中。
curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php
curl: 这是一个用于在命令行中进行 URL 传输的工具。在这里,它被用于下载 Composer 的安装脚本。
-sS: 这是 curl 命令的参数之一。-s 表示静默模式,使 curl 在执行过程中不显示进度或错误信息。-S 表示如果发生错误,仍然显示错误信息。
-o /tmp/composer-setup.php: 这是 curl 命令的参数,指定将下载的内容保存到指定的文件路径 /tmp/composer-setup.php 中。-o 表示输出,后面跟着要保存的文件路径。
/tmp: /tmp 目录通常用于临时文件存储,并且在系统重新启动后会自动清理。
运行以下代码从指定 URL(https://composer.github.io/installer.sig)获取 Composer 安装脚本的哈希值,并将该哈希值保存在名为 HASH 的变量中。这个哈希值在后续的步骤中用于校验 Composer 安装脚本的完整性,确保下载的脚本没有被篡改或损坏。
HASH=`curl -sS https://composer.github.io/installer.sig`
如果你想验证获得的哈希值,你可以运行以下代码:
echo $HASH
现在执行 Composer 下载页面中提供的以下 PHP 代码,如果安装脚本的哈希值与预期的哈希值匹配,将输出“Installer verified”;如果哈希值不匹配,将输出”Installer corrupt“并删除安装脚本文件。这个验证步骤可以确保下载的 Composer 安装脚本没有被篡改或损坏,以验证安装脚本是否可以安全运行:
php -r "if (hash_file('SHA384', '/tmp/composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
您将看到以下输出:
Installer verified
如果输出显示 Installer corrupt ,您将需要再次下载安装脚本并仔细检查您是否使用了正确的哈希值。然后,重复验证过程。当您拥有经过验证的安装程序后,您可以继续。
要 Composer 全局安装,请使用以下命令,该命令使用 sudo 权限执行 PHP 脚本/tmp/composer-setup.php,该脚本会将 Composer 安装到指定的安装目录 /usr/local/bin,并将可执行文件命名为 Composer。这将使 Composer 在系统中全局可用,可以通过执行 Composer 命令来访问 Composer 的功能。
sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
要测试您的安装,请运行:
composer
这将验证 Composer 是否已成功安装在您的系统上并且在系统范围内可用。如下图所示,Composer 已经在 Ubuntu 系统上成功安装并且在系统范围内可用。