如何在 Rocky Linux 8 上安装 PHP Composer?

举报
wljslmz 发表于 2022/07/27 22:59:54 2022/07/27
【摘要】 PHP Composer 是 PHP 最常用的依赖管理器,它允许您声明项目所需的依赖项,并且它将为您管理(安装/更新)它们。 下载、安装和更新依赖项可能会很痛苦,并且可能会分散您实际编写代码的注意力。依...

PHP Composer 是 PHP 最常用的依赖管理器,它允许您声明项目所需的依赖项,并且它将为您管理(安装/更新)它们。

下载、安装和更新依赖项可能会很痛苦,并且可能会分散您实际编写代码的注意力。依赖管理器会为您处理这些问题,从而使您作为开发人员的生活更轻松。

在 Composer 出现之前,有几个不同的选项来管理项目依赖项,例如 PEAR 和 PHP Package Manager。如今,Composer 已经成为 PHP 中依赖管理的事实标准。

如果您仍在使用 PEAR 或 PHP 包管理器,那么可能是时候进行更改了。使用 Composer 有几个原因:

  • 它是用 PHP 编写的,不需要额外的软件安装(如 Python)
  • 它支持全局和本地/私有包
  • 数以千计的库和应用程序已经依赖它,因此通过使用 Composer,您将能够轻松找到包和更新。

先决条件

为了在 Rocky Linux 8.4 上安装 PHP Composer,您需要:

  • 在您的系统上安装 PHP 5.3 或更高版本(并且必须能够运行 Phar 扩展)。
  • 安装需要root访问权限。

更新系统

在您做任何其他事情之前,请确保您的系统的软件包是最新的。运行以下命令更新系统包。

sudo dnf check-update

  
 
  • 1
sudo dnf update -y

  
 
  • 1

在 Rocky Linux 8.4 上安装 PHP

在安装 Composer 之前,您需要在系统上安装 PHP 和 PHP 解释器。

默认情况下,AppStream 存储库随附 PHP 7.2、7.3 和 7.4。您可以通过运行以下命令列出所有可用的 PHP 版本。

sudo dnf module list php

  
 
  • 1

您将看到如下所示的输出。

在 Rocky Linux 8.4 上安装 PHP

在本指南中,我们将安装 PHP 7.4。您应该选择一个适合您需要的 PHP 版本,但请确保您的决定不仅基于本指南,还基于像这样的兼容性报告。

运行以下命令以启用和安装 PHP 7.4。

sudo dnf module enable php:7.4
sudo dnf install php php-cli php-gd php-curl php-zip -y
sudo dnf install php-mbstring php-opcache php-intl php-mysqlnd -y

  
 
  • 1
  • 2
  • 3

您现在可以通过运行此命令检查 PHP 是否安装正确。

php -v

  
 
  • 1

您应该得到以下输出。

在 Rocky Linux 8.4 上安装 PHP Composer

现在您已经在系统上安装了一个 PHP 版本,您可以使用它来下载和安装 Composer 二进制文件。

首先,运行以下命令下载最新版本的 Composer。

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

  
 
  • 1

接下来,我们将验证下载的文件没有损坏。我们应该始终验证下载的文件以确保它没有损坏。Composer 可能非常敏感,错误可能会导致您使用 Composer 的方式出现问题。执行以下代码以验证安装程序文件没有损坏。

HASH=`curl -sS https://composer.github.io/installer.sig`

  
 
  • 1
echo $HASH

  
 
  • 1
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;"

  
 
  • 1

验证成功后,您应该会看到文本“Installer encrypted”,如下所示。如果您没有得到预期的输出,则文件很可能已损坏,您应该再次尝试下载。然后,重复验证过程,直到获得预期的“安装程序验证”输出。

现在您有两个选项可以在您的系统上安装 Composer。

选项 1 是在您的系统上全局安装 Composer,这意味着它可以从您系统的任何目录访问,并且可以在任何地方使用。如果您想将 composer 用作命令行工具,而不仅仅是 PHP 项目的依赖项管理器,请使用此选项。

如果您使用此选项,请运行以下命令。

sudo php composer-installer.php --filename=composer --install-dir=/usr/local/bin 

  
 
  • 1

上面的命令将使用/usr/local/bin中名为 composer 的命令全局安装 Composer 。

您现在可以通过运行此命令来检查您是否正确安装了 Composer。

composer

  
 
  • 1

您应该得到以下输出。

选项 2 是在当前目录中本地安装 Composer,以便仅由该特定项目使用。

要在本地安装 Composer,请运行以下命令。

sudo php composer-setup.php

  
 
  • 1

上述命令会将 Composer 安装在本地当前目录中,以便仅由该特定项目使用。您可以通过运行 ./composer.phar 来使用作曲家。

测试 PHP Composer

现在您已经安装了 Composer,您可以使用它来创建一个可以测试您的 Composer 安装的新项目。

根据经验,您应该始终为您从事的每个项目创建一个单独的目录。运行以下命令为您的测试项目创建一个新目录并导航到新创建的目录。

cd && mkdir php-composer-test && cd php-composer-test

  
 
  • 1

您现在可以运行以下命令来使用 Composer 初始化一个新项目。

composer init

  
 
  • 1

上面的命令将使用您选择的所有详细信息初始化一个新项目。

composer init 命令还会在当前目录中创建一个新的 composer.json 文件,如下所示。它是一个 JSON 格式的文件,其中包含所有项目要求。Composer 使用此文件为您的项目安装所需的依赖项。

现在是时候将包加载到您的项目中了。前往https://packagist.org 并搜索要在您的项目中安装的包。

例如,如果您想安装 Remove Stop Words 包,它可以帮助我们从字符串中删除停用词。如果您在 Packagist 上搜索术语“Remove Stop Words”,您应该会看到以下结果。

要添加新包,请运行 composer require 命令并选择要加载到当前项目的包(没有任何版本)。

composer require rap2hpoutre/remove-stop-words

  
 
  • 1

Composer 将自动决定使用哪个版本的包。Composer 会从 Packagist 下载包到你的当前目录并解压这个包的内容。

它还将使用有关此新包的详细信息更新 composer.json 文件。它还将创建一个新文件 - composer.lock,以及一个新的供应商目录,如下所示。

Composer 使用 composer.lock 文件来锁定当前项目中安装的包版本。此文件用于避免与同一包的其他安装或克隆项目时发生冲突。供应商目录包含您项目的所有依赖项。

要更新项目依赖项,请运行 composer update 命令。Composer 将首先查看 composer.lock 文件以找出已安装的软件包版本,然后它将使用 Packagist 上可用的最新版本更新此软件包。

composer update

  
 
  • 1

样本输出:

要更新特定软件包,请运行以下命令。

composer update vendor/package

  
 
  • 1

要删除特定包,请运行以下命令。

composer remove vendor/package

  
 
  • 1

例如,如果您不再需要 Remove Stop Words 包,则可以运行以下命令将其从项目中卸载。

composer remove rap2hpoutre/remove-stop-words

  
 
  • 1

样本输出:

注意:强烈建议您不要删除供应商目录或其内容,因为该目录包含所有需要与 Composer 一起安装才能运行您的应用程序的依赖项。

结论

在本文中,您学习了如何在 Rocky Linux 8.4 上安装 PHP Composer PHP 依赖管理器来初始化新项目、加载新包、更新现有包或从项目中卸载它们。您还学习了一些用于管理项目依赖项的基本 Composer 命令。

文章来源: blog.csdn.net,作者:wljslmz,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_43025343/article/details/122912330

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200