介紹: 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 協議》,轉載必須註明作者和本文連結