TShopping

 找回密碼
 註冊
搜索
查看: 788|回復: 0
打印 上一主題 下一主題

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2023-5-10 13:08:22 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
 
Push to Facebook

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:

  1. dnf install php-cli php-json php-zip curl unzip
複製代碼

複製
使用 curl 下載 Composer:

  1. curl -sS https://getcomposer.org/installer |php
複製代碼

複製
將Composer 文件移動/usr/local/bin到目錄:

  1. mv composer.phar /usr/local/bin/composer
複製代碼

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

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

  1. mkdir ~/my-first-composer-project
  2. cd ~/my-first-composer-project
複製代碼

在這個例子中,我們將使用一個名為carbon的 PHP 包 來創建一個打印當前時間的示例應用程序。

運行以下命令來初始化一個新的 Composer 項目並安裝 carbon 包:

  1. 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目錄。


  1. 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並添加以下代碼:

  1. <?php

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

  3. use Carbon\Carbon;

  4. printf("Now: %s", Carbon::now());
複製代碼


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

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

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

  1. php testing.php
複製代碼

輸出應如下所示:

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

稍後,如果你想更新你的 PHP 包,你可以簡單地運行:


  1. composer update
複製代碼


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


參考文章
https://linuxize.com/post/how-to-install-and-use-composer-on-centos-8/

 

臉書網友討論
*滑块验证:
您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2024-11-1 07:49 , Processed in 0.055721 second(s), 26 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表