如何在 Debian 11 上安装和使用 PHP Composer
PHP Composer 是 PHP 的依赖管理器。依赖管理器有助于应用程序开发以及调用库和框架的过程。 Composer 是 PHP 的依赖关系管理器,支持库和框架依赖关系。它可以帮助您管理项目的依赖项,无论它们来自 Packagist、Github 还是其他地方。
Composer 确实可以节省时间,尤其是当您需要使用多个彼此不兼容的不同库时。手动下载和安装这些包可能需要几个小时,具体取决于项目的大小。 Composer 将管理您的应用程序或库的所有依赖项,并一次性下载它们,使您可以快速返回编码,而不是花费时间编译代码和管理外部库。
当我们使用 PHP Composer 时,我们在一个名为“composer.json”的文本文件中定义项目的依赖项。该文件包含我们要使用的外部库的名称和版本号(以及可选的 URL)。然后,Composer 使用此文件下载所有外部库依赖项并将其安装到我们的项目文件夹中,并根据这些详细信息创建依赖项树。
这意味着如果您向项目添加新库,您应该使用其版本号更新您的composer.json 文件,它会为您下载它们。它还允许您通过环境变量定义环境变量来轻松跟踪生产、登台或开发中使用的版本,您可以在启动应用程序时、引导程序开始时设置一次,然后就忘记了稍后再讨论它,因为当需要自动更改代码库中的其他任何内容时,它总是会被更改。
在本文中,我们将向您展示如何在 Debian 11 服务器上安装和使用 PHP Composer。以下步骤将引导您下载该软件包并将其安装到您的 Debian 11 服务器上。完成后,就可以创建一个简单的项目并向您展示如何使用 Composer 下载一些包并将其安装到您的项目中。
先决条件
- 运行 Debian 11 的服务器。
- 建议使用具有 sudo 权限的非 root 用户。
- PHP Composer 需要 PHP 5.3.2 及更高版本。它最适合 PHP 7.0 及更高版本,但使用 PHP 5.6 或 7.1 可能会成功。确保服务器上安装了 PHP 5.3.2+。
更新系统
Linux 系统每天都会不断更新,提供新的安全修复程序、修复错误的内核补丁以及性能增强。有些更新只是更改版本号(例如从 3.2.0-4 更改为 3.2.0-5),而其他更新可能提供错误修复或安全改进。最佳做法是使您的系统保持最新状态,以利用最新功能、保持稳定性并保护您的计算机免受攻击者可能利用的漏洞的影响。
运行以下命令更新系统。
sudo apt-get update && sudo apt-get upgrade -y
升级过程完成后,运行以下命令来安装必要的依赖项。
sudo apt-get install curl unzip git php-cli php-zip php-mbstring -y
系统完全更新后,重新启动服务器。运行以下命令重新启动系统。对系统进行更改(例如硬件配置、内核或软件包更新)时,重新启动计算机以使更改生效非常重要。例如,如果您刚刚更新了内核,安装后重新启动系统将加载新内核。
sudo reboot -r now
重新启动完成后,使用相同的非 root 用户重新登录并继续下一步。
安装 PHP Composer
现在您的系统是最新的并且所有必需的依赖项都已安装,是时候下载并安装最新版本的 PHP Composer 了。
PHP Composer 开发人员提供了一个用 PHP 编写的安装脚本,以使安装过程变得简单。我们将下载脚本,检查其签名以确保它没有损坏,然后运行安装程序。
首先,使用curl 命令从composer 网站下载最新版本的PHP Composer 安装脚本。
curl -o composer-setup.php https://getcomposer.org/installer
现在,运行以下命令来检查 PHP 脚本的签名。此步骤是为了确保安装程序在下载过程中没有被篡改(即损坏或修改)。
HASH=906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
输出应如下所示。此输出验证安装程序未损坏。 HASH 将来可能会发生变化,您可以在此页面找到最新的哈希值 https://composer.github.io/pubkeys.html
如果文件已被篡改,该命令将退出打印 Installer Corrupt 并取消链接。在这种情况下,您将需要下载安装程序并再次验证哈希值,直到收到安装程序验证消息。
简而言之,在 Debian 11 系统上安装 Composer 有两种方法:本地安装或全局安装。
全局安装 Composer 允许您从任何目录使用 Composer 命令。您可以使用 Composer 从同一终端轻松更新任何项目目录的依赖项,而无需在目录之间来回移动。要全局安装 Composer,请运行以下命令。
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
此命令会将 Composer 作为名为 Composer 的系统范围命令安装在 /usr/local/bin 目录中,并使其可供所有用户使用。
您将看到以下输出。
要测试 Composer 是否已正确安装,请运行以下命令来调用 Composer 可执行文件。
composer
输出应该如下所示。
本地安装用于将 Composer 安装在您的主目录或您指定的目录内的其他位置,因为除非使用符号链接,否则您不需要从该目录外部访问 Composer 命令。
要在本地安装 Composer,请运行以下命令。将以下命令中的路径/到/目录替换为您要安装 Compose 的目录。
sudo php composer-setup.php --install-dir=path/to/directory --filename=composer
测试 PHP Composer 安装
现在您已经在 Debian 11 系统上成功安装了 Composer,是时候测试安装了。为此,我们将创建一个简单的项目并使用 PHP Composer 为您的项目下载一些包。
首先,创建一个目录来保存项目文件并通过运行以下命令移入该目录。
cd && mkdir example_composer_project && cd example_composer_project
进入项目目录后,运行以下命令来初始化项目的composer.json 文件。在此示例中,我们将为我们的项目安装 nesbot/carbon 包。
composer require nesbot/carbon
您将看到以下输出。
正如您在输出中看到的,PHP Composer 为您的项目创建了一个新的composer.json 文件。该文件是根据要安装在项目中的 nesbot/carbon 包的最低要求创建的。
PHP Composer 还会安装最新稳定版本的 nesbot/carbon 包及其依赖项到您的项目目录。
您可以使用 ls 命令列出项目目录中的所有文件。
ls
您将看到以下输出。
正如您在输出中看到的,在您的项目目录中,已创建一个新的composer.json 文件,以允许 PHP Composer 跟踪项目中所有包的版本号。
它还包含一个新的composer.lock文件,用于锁定所有包的版本号。还有一个新的供应商目录,Composer 在其中存储项目的所有依赖项。
结论
在本教程中,您学习了如何在 Debian 11 上安装 PHP Composer。现在您知道,如果您想从系统上的任何位置访问 Composer 命令,可以将其用于本地安装或全局安装。通过使用 PHP Composer 安装新的依赖项,您已经了解了如何在您的项目中使用 Composer。