Composer的安裝

jack_num1發表於2021-10-26

介紹: Composer 是 PHP 用來管理依賴( dependency )關係的工具。你可以在自己的專案中宣告所依賴的外部工具庫( libraries ), Composer 會幫您安裝這些依賴的庫檔案。

1.1 下載Composer

Composer官網下載Composer.exe應用

1.2 安裝Composer

下載的版本為最新的Composer版本並且會自動設定PATH環境變數,這樣您就可以從任何目錄呼叫Composer

  • 根據本地php配置的版本選擇 ,然後一路下一步安裝即可

  • 全域性配置

①搜尋“path”—>開啟“編輯系統環境變數”—“環境變數”

②配置Administrator使用者變數


1.3 安裝成功

# win+R 輸入cmd 進入
C:\Users\Administrator>composer
 ______
 / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
 /_/
Composer version 2.1.9 2021-10-05 09:47:38

2.1 下載Composer

**# 進入根目錄下載** 
[root@VM-12-9-centos /] curl -sS https://getcomposer.org/installer | php
Composer (version 2.1.9) successfully installed to: //composer.phar
Use it: php composer.phar #下載成功#友情提示:下載因為是外網可能會出現請求失敗的情況,耐心多嘗試下就成功了
  • 如果下載頻繁失敗 ,則可以使用阿里雲的映象下載

#本映象與 Packagist 官方實時同步,推薦使用最新的 Composer 版本
[root@VM-12-9-centos /] curl -sS mirrors.aliyun.com/composer/compos...

2.2 全域性配置

# 複製composer.phar到/usr/local/bin/目錄下生成composer的目錄,方便全域性使用
[root@VM-12-9-centos /] mv composer.phar /usr/local/bin/composer

2.3 更換映象源

由於國外的網站在國內請求會很慢,所以我們可以更換國內源來加速源的下載。國內映象源有很多種,下面列舉常用的幾種,您可以根據需求選擇其中一種即可。

  • 阿里雲Composer映象推薦
    composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
  • 國內雲Composer映象
    composer config -g repo.packagist composer https://packagist.phpcomposer.com
  • 騰訊雲Composer映象
    composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/
  • 華為雲Composer映象
    composer config -g repo.packagist composer https://repo.huaweicloud.com/repository/php/
  • 安暢雲Composer映象
    composer config -g repo.packagist composer https://php.cnpkg.org/

    2.4 安裝成功

    [root@VM-12-9-centos etc]# composer
     ______
    / ____/___  ____ ___  ____  ____  ________  _____
    / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
    / /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
    \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                      /_/
    Composer version 2.1.9 2021-10-05 09:47:38

3.1 檢視版本

composer --version

# 檢視版本會看到當前版本以及更新時間
[root@VM-12-9-centos /]# composer --version
Composer version 2.1.9 2021-10-05 09:47:38

3.2 版本升級

# 升級將預設升到最新版本
composer self-update

# **友情提示:** 版本升級命令將會從官方版本去下載composer,phar映象,速度將受限!強烈建議全域性配置加速映象

3.3 執行診斷命令

composer diagnose

3.4 清除快取

composer clear

3.5 專案更新composer.lock

composer update --lock

3.6 除錯

# **Composer除錯只需要在命令前加上-vvv就可以列印出錯資訊** 

# 例如下載laravel命名為blog的專案
composer -vvv create-project laravel/laravel blog

在專案中,我們常常使用composer來進行包或者庫的下載與更新,但是往往我們在使用中也會遇到各種各樣的問題。接下來,我們將解決常見的問題。

4.1 寶塔皮膚安裝Composer

composer 的安裝需要php開啟 putenv 函式 ,否則會安裝失敗!由於 putenv 函式可以設定特定的環境變數而被認為是一個潛在的安全漏洞,因此php在安裝之初是預設禁止它的!

  • 刪除禁用函式

寶塔皮膚出於對於安全的考慮,自動禁用了一些函式;因為安裝Composer也會用到相應的函式,我們應該先刪除在安裝 Composer 。         安裝 Composer 需要刪除 的 PHP 禁用函式:putenv()         友情提示: 在使用 Composer 的時候需要根據專案的php版本去做操作(安裝多少個PHP版本就需要相對應刪除),下圖示範是根據 php-8.0 來操作的。

  • 非寶塔皮膚管理操作
# 進入php.ini配置檔案編輯--->搜尋(輸入 / 進入搜尋模式,搜尋disable_functions)
# ---->依次刪除putenv

**### 第一步:查詢php.ini路徑** 
[root@VM-12-9-centos 74]# find / -name "php.ini"
/www/server/php/56/etc/php.ini
/www/server/php/80/etc/php.ini
/www/server/php/74/etc/php.ini

**### 第二步:依次編輯php.ini檔案** : 刪除函式putenv
vim /www/server/php/56/etc/php.ini

**### 第三步:搜尋“disable_functions”** 
# ESC + :+ / + disable_functions 將會自動定位到指定位置
disable_functions = passthru,exec,system,**putenv** ,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv

**### 第四步:儲存檔案並退出** 
ESC + :wq! 
  • 友情提醒

寶塔是支援php多版本的,如果在不同版本的php中使用 composer ,只要開啟php中的 putenv 函式即可!

4.2 PHP專案使用

  • composer.lock已經存在

使用場景: 由於下載程式碼或者git程式碼或者部署專案時會存在 composer.lock , 首先應該刪除composer.lock

# 專案中composer.lock已經存在,需要進行刪除,再重新安裝,安裝成功後會重新生成composer.lock檔案
# 案例示範:
**### 第一步:進入專案blog根目錄** 
cd www\wwwroot\blog

**### 第二步:刪除composer.lock檔案** 
# 刪除請核對檔名後謹慎操作
rm -rf composer.lock

**### 第三步:重新composer安裝專案所需包** 
composer install

提示: 不要忘了經常執行 composer selfupdate 以保持 Composer 一直是最新版本哦!

本作品採用《CC 協議》,轉載必須註明作者和本文連結
jack_num1

相關文章