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 的服務器。
- 一個非 root 用戶 sudo 推薦特權。
- 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
系統完全更新後,重新啟動服務器。 運行以下命令重新啟動系統。 在對系統進行更改時,例如硬件配置、內核或軟件包更新,重要的是重新啟動計算機以使更改生效。 為了 example, 如果你剛剛更新了內核,重啟系統會在安裝後加載新內核。
sudo reboot -r now
重新啟動完成後,使用相同的非 root 用戶重新登錄並繼續下一步。
安裝 PHP Composer
現在您的系統是最新的並且所有必需的依賴項都已安裝,是時候下載並安裝最新版本的 PHP Composer。
PHP Composer 開發人員提供了一個用 PHP 編寫的安裝腳本,以簡化安裝過程。 我們將下載腳本,檢查其簽名以確保它沒有損壞,然後運行安裝程序。
首先,使用 Composer 網站從 Composer 網站下載最新版本的 PHP Composer 安裝腳本 curl 命令。
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
如果文件被篡改,該命令將退出打印安裝程序損壞並取消鏈接。 在這種情況下,您將需要下載安裝程序並再次驗證哈希,直到您收到安裝程序驗證消息。
簡而言之,有兩種方法可以在 Debian 11 系統上安裝 Composer:本地或全局。
全局安裝 Composer 允許您從任何目錄使用 composer 命令。 您可以使用 Composer 從同一終端的任何項目目錄輕鬆更新您的依賴項,而無需在目錄之間來回移動。 要全局安裝 Composer,請運行以下命令。
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
此命令將在 /usr/local/bin 目錄中將 Composer 作為名為 composer 的系統級命令安裝,並使其可供所有用戶使用。
您將看到以下輸出。
要測試 Composer 是否已正確安裝,請運行以下命令以調用 composer 可執行文件。
composer
輸出應如下所示。
本地安裝用於在您的主目錄或您指定的目錄內的其他位置安裝 Composer,因為除非使用符號鏈接,否則您不需要從該目錄外部訪問 composer 命令。
要在本地安裝 Composer,請運行以下命令。 將下面命令中的 path/to/directory 替換為您要安裝 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 文件。 在這 example,我們將為我們的項目安裝 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。