如何在Debian 9上安装和使用PHP Composer

Composer是PHP的依赖项管理器(类似于Node.js的npm或Python的pip)。 Composer将提取您项目所依赖的所有必需PHP软件包,并为您管理它们。

本教程提供了在Debian 9系统上安装Composer所需的步骤。 我们还将介绍如何使用Composer创建和管理PHP项目。

先决条件

在继续本教程之前,请确保您以具有sudo特权的用户身份登录,并且已在Debian 9系统上安装了PHP。

安装Composer#

请按照以下步骤在Debian系统上安装Composer:

  1. 首先更新软件包索引,并使用以下命令安装必要的软件包:

    sudo apt updatesudo apt install php-cli php-zip wget unzip
  2. 安装依赖项后,请使用php cli toll下载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。 在这种情况下,您将需要重新下载Composer安装脚本,然后仔细检查 $HASH 可变 echo $HASH 。 验证安装程序后,您可以继续下一步。

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

    sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
    All settings correct for using Composer
    Downloading...
    
    Composer (version 1.8.5) successfully installed to: /usr/local/bin/composer
    Use it: php /usr/local/bin/composer

    至此,您已经在Debian系统上安装了Composer。 它作为系统级命令安装,将对所有用户可用。

  5. 要验证安装,只需键入:

    composer

    上面的命令将打印Composer的版本,命令和参数。

    ______
    / ____/___  ____ ___  ____  ____  ________  _____
    / /   / __ / __ `__ / __ / __ / ___/ _ / ___/
    / /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
    ____/____/_/ /_/ /_/ .___/____/____/___/_/
                        /_/
    Composer version 1.8.5 2019-04-09 17:46:47
    
    Usage:
        command [options] [arguments]

如果要使用每个项目的Composer安装,请运行以下命令 php composer-setup.php 这将创建一个名为 composer.phar 在当前工作目录中。 您可以通过运行来使用作曲家 ./composer.phar <command>.

Composer入门

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

首先创建一个目录,该目录将成为项目的根目录,并保留 composer.json 文件。 该文件描述了您的PHP项目,包括PHP依赖关系和其他元数据。

创建项目目录并使用以下命令切换到该目录:

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

接下来,我们将初始化一个新的 composer.json 文件使用 composer require <package name> 命令并指定我们要下载的软件包。 在此示例中,我们将创建一个示例应用程序,该应用程序将使用名为carbon的包来打印当前时间。

运行以下命令以初始化新的 composer.json 归档并安装碳包装:

composer require nesbot/carbon
Using version ^1.34 for nesbot/carbon
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing symfony/polyfill-mbstring (v1.9.0): Downloading (100%)         
  - Installing symfony/translation (v3.4.17): Downloading (100%)         
  - Installing nesbot/carbon (1.34.0): 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

作曲者将创建一个 composer.json 文件并下载并安装carbon及其所有依赖项。

如果您在列出项目目录时使用 ls 命令,您将看到它包含两个文件 composer.jsoncomposer.lockvendor 目录。

ls -l
-rw-r--r-- 1 linuxize users   60 Oct 16 21:02 composer.json
-rw-r--r-- 1 linuxize users 6851 Oct 16 21:02 composer.lock
drwxr-xr-x 5 linuxize users 4096 Oct 16 21:02 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 由Composer自动生成的文件。 该文件将自动加载所有必需的库。

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

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

php testing.php

输出应如下所示:

Now: 2018-10-16 21:08:45

以后,如果您需要更新项目包,请输入:

composer update

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

结论#

您已经了解了如何在Debian 9机器上安装Composer。 我们还向您展示了如何使用Composer创建基本的PHP项目。 要查找有关Composer的更多信息,请访问Composer官方文档页面。

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

作曲家PHP Debian

Sidebar