如何在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