woff 發表於 2023-5-10 13:08:22

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


Composer 是 PHP 的依賴管理器(就像 npm 之於Node.js 或pip 之於 Python)。

Composer 將引入您的項目所依賴的所有必需的 PHP 包並為您管理它們。它用於所有現代 PHP 框架和平台,例如 Laravel、Symfony、Drupal 和 Magento 2。

本教程介紹了在 CentOS 8 上安裝 Composer 的步驟。如果您趕時間並且不想驗證文件完整性,請向下滾動到安裝Composer - 快速方式 部分。

安裝 Composer [快速方式]
執行以下步驟在您的 CentOS 8 系統上快速安裝 Composer:


安裝 PHP CLI 和 Zip:

dnf install php-cli php-json php-zip curl unzip
複製
使用 curl 下載 Composer:

curl -sS https://getcomposer.org/installer |php
複製
將Composer 文件移動/usr/local/bin到目錄:

mv composer.phar /usr/local/bin/composer
開始使用 Composer
現在您的 CentOS 系統上已經安裝了 Composer,我們將向您展示如何在 PHP 項目中使用 Composer。

首先創建項目根目錄並導航到它 :

mkdir ~/my-first-composer-project
cd ~/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.jsoncarbon 的文件並下載了它的所有依賴項。

如果您列出項目的目錄 ,您會看到它包含兩個文件composer.json和composer.lock,以及一個vendor目錄。


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 具有自動加載功能,允許您在不需要requireorinclude語句的情況下使用 PHP 類。

創建一個名為的文件testing.php並添加以下代碼:

<?php

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

use Carbon\Carbon;

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

在開始的 php 標記之後的第一行中,我們包含了vendor/autoload.php自動加載所有庫的文件。

接下來,我們別名Carbon\Carbon為Carbon. 最後一行使用 Carbonnow方法打印當前時間。

通過鍵入以下內容運行腳本:

php testing.php
輸出應如下所示:

Now: 2020-03-27 22:12:26
稍後,如果你想更新你的 PHP 包,你可以簡單地運行:


composer update

上面的命令將檢查已安裝包的更新版本,如果找到更新版本並且版本約束 與中指定的匹配composer.json,Composer 將更新包。

參考文章
https://linuxize.com/post/how-to-install-and-use-composer-on-centos-8/
頁: [1]
查看完整版本: 如何在 CentOS 8 上安裝和使用 PHP Composer