如何在CentOS 8上安装和使用PHP Composer

Composer是PHP的依赖项管理器(因为npm是Node.js或pip是Python)。

Composer将提取您项目所依赖的所有必需PHP软件包,并为您管理它们。 它用于所有现代PHP框架和平台,例如Laravel,Symfony,Drupal和Magento 2。

本教程将介绍在CentOS 8上安装Composer的步骤。如果您急于不想验证文件的完整性,请向下滚动至“ Installing Composer-Quick Way”部分。

先决条件

在继续之前,请确保您满足以下要求:

  • 以具有sudo特权的用户身份登录
  • 在CentOS 8系统上安装PHP。

在CentOS上安装Composer#

执行以下步骤在CentOS 8上安装Composer。

  1. 使用以下命令安装PHP CLI(命令行界面)软件包和所有其他依赖项:

    sudo dnf install php-cli php-json php-zip wget unzip
  2. 安装PHP CLI后,下载Composer安装程序脚本:

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

    上面的命令下载一个名为 composer-setup.php 在当前工作目录中。

  3. 通过比较文件的验证数据完整性 SHA-384 散列与在Composer公钥/签名页上找到的散列。

    以下 wget 命令从Composer的Github页面下载最新的Composer安装程序的签名,并将其存储在名为 HASH

    HASH="$(wget -q -O - https://composer.github.io/installer.sig)"

    要验证安装脚本是否未损坏,请运行以下命令:

    php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

    如果哈希值匹配,将显示以下消息:

    Installer verified

    否则,如果哈希值不匹配,您将看到 Installer corrupt。 验证完整性后,请继续下一步。

  4. 运行以下命令将Composer安装在 /usr/local/bin 目录:

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

    上面的命令安装 composer 作为系统范围的命令,可供所有用户使用。 输出看起来像这样

    All settings correct for using Composer
    Downloading...
    
    Composer (version 1.10.1) successfully installed to: /usr/local/bin/composer
    Use it: php /usr/local/bin/composer

    上面的命令安装 composer 作为系统范围的命令,可供所有用户使用。

  5. 通过打印Composer的版本来验证安装:

    composer -V
    Composer version 1.10.1 2020-03-13 20:34:27

至此,您已经在CentOS系统上成功安装了Composer,并且可以开始使用它了。

安装作曲家 [Quick Way] #

执行以下步骤以在您的CentOS 8系统上快速安装Composer:

  1. 安装PHP CLI和Zip:

    sudo dnf install php-cli php-json php-zip curl unzip
  2. 下载带有curl的Composer:

    curl -sS https://getcomposer.org/installer |php
  3. 将Composer文件移至 /usr/local/bin 目录:

    sudo mv composer.phar /usr/local/bin/composer

Composer入门

现在,您的CentOS系统上已经安装了Composer,我们将向您展示如何在PHP项目中使用Composer。

首先创建项目根目录并导航到它:

mkdir ~/my-first-composer-projectcd ~/my-first-composer-project

在此示例中,我们将使用一个名为carbon的PHP包来创建一个打印当前时间的示例应用程序。

运行以下命令以初始化新的Composer项目并安装carbon软件包:

composer require nesbot/carbon
sing version ^2.32 for nesbot/carbon
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 4 installs, 0 updates, 0 removals
  - Installing symfony/translation-contracts (v2.0.1): Downloading (connecting..Downloading (100%)         
  - Installing symfony/polyfill-mbstring (v1.15.0): Downloading (100%)         
  - Installing symfony/translation (v5.0.6): Downloading (100%)         
  - Installing nesbot/carbon (2.32.1): Downloading (100%)         
symfony/polyfill-mbstring suggests installing ext-mbstring (For best performance)
symfony/translation suggests installing symfony/config
symfony/translation suggests installing symfony/yaml
symfony/translation suggests installing psr/log-implementation (To use logging capability in translator)
Writing lock file
Generating autoload files
3 packages you are using are looking for funding.
Use the `composer fund` command to find out more!

从上面的输出中可以看到,Composer创建了一个名为 composer.json 并下载carbon及其所有依赖项。

如果列出项目的目录,您将看到它包含两个文件 composer.jsoncomposer.lockvendor 目录。

ls -l
-rw-rw-r--. 1 vagrant vagrant    60 Mar 27 18:05 composer.json
-rw-rw-r--. 1 vagrant vagrant 11135 Mar 27 18:06 composer.lock
drwxrwxr-x. 6 vagrant vagrant    82 Mar 27 18:06 vendor
  • vendor 是存储项目依赖项的目录。
  • composer.lock 文件包含所有已安装软件包的列表,包括它们的版本。
  • composer.json 是一个描述您的PHP项目的文件,包括PHP依赖项和其他元数据。

您可以在Composer存储库Packagist中搜索PHP软件包。

Composer具有自动加载功能,可让您使用PHP类而无需 require 要么 include 陈述。

创建一个名为 testing.php 并添加以下代码:

<?php

require __DIR__ . '/vendor/autoload.php';

use CarbonCarbon;

printf("Now: %s", Carbon::now());

让我们逐行分析代码。

在打开php标签后的第一行中,我们包含了 vendor/autoload.php 自动加载所有库的文件。

接下来,我们要进行混叠 CarbonCarbonCarbon。 最后一行使用Carbon打印当前时间 now 方法。

通过键入以下命令来运行脚本:

php testing.php

输出应如下所示:

Now: 2020-03-27 22:12:26

稍后,如果您想更新PHP软件包,则只​​需运行:

composer update

上面的命令将检查已安装软件包的较新版本,以及是否找到了较新版本,并且版本约束与在安装程序包中指定的版本匹配。 composer.json,Composer将更新软件包。

结论#

您已经了解了如何在CentOS 8计算机上安装Composer。 我们还向您展示了如何使用Composer创建基本的PHP项目。

要查找有关Composer的更多信息,请访问Composer官方文档页面。

如有任何疑问,请在下面发表评论。

作曲家php centos

Sidebar