Windows 和 Linux 下 Composer 的安裝及配置
介紹: Composer 是 PHP 用來管理依賴( dependency )關(guān)系的工具。你可以在自己的項目中聲明所依賴的外部工具庫( libraries ), Composer 會幫您安裝這些依賴的庫文件。
(一)Window安裝
1.1 下載Composer
Composer官網(wǎng)下載Composer.exe應(yīng)用(https://getcomposer.org/)
1.2 安裝Composer
下載的版本為最新的Composer版本并且會自動設(shè)置PATH環(huán)境變量,這樣您就可以從任何目錄調(diào)用Composer
- 根據(jù)本地php配置的版本選擇 ,然后一路下一步安裝即可
- 全局配置
①搜索“path”—>打開“編輯系統(tǒng)環(huán)境變量”—“環(huán)境變量”
②配置Administrator用戶變量
1.3 安裝成功
# win+R 輸入cmd 進入C:UsersAdministrator>composer ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ / __ `__ / __ / __ / ___/ _ / ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / ____/____/_/ /_/ /_/ .___/____/____/___/_/ /_/ Composer version 2.1.9 2021-10-05 09:47:38
(二)Linux安裝
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 #下載成功#友情提示:下載因為是外網(wǎng)可能會出現(xiàn)請求失敗的情況,耐心多嘗試下就成功了
- 如果下載頻繁失敗 ,則可以使用阿里云的鏡像下載
#本鏡像與 Packagist 官方實時同步,推薦使用最新的 Composer 版本
[root@VM-12-9-centos /] curl -sS mirrors.aliyun.com/composer/compos…
2.2 全局配置
# 復(fù)制composer.phar到/usr/local/bin/目錄下生成composer的目錄,方便全局使用[root@VM-12-9-centos /] mv composer.phar /usr/local/bin/composer
2.3 更換鏡像源
由于國外的網(wǎng)站在國內(nèi)請求會很慢,所以我們可以更換國內(nèi)源來加速源的下載。國內(nèi)鏡像源有很多種,下面列舉常用的幾種,您可以根據(jù)需求選擇其中一種即可。
- 阿里云Composer鏡像 【推薦 】
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
- 國內(nèi)云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
(三)Composer命令
3.1 查看版本
composer --version# 查看版本會看到當(dāng)前版本以及更新時間[root@VM-12-9-centos /]# composer --versionComposer version 2.1.9 2021-10-05 09:47:38
3.2 版本升級
# 升級將默認升到最新版本composer self-update# **友情提示:** 版本升級命令將會從官方版本去下載composer,phar鏡像,速度將受限!強烈建議全局配置加速鏡像
3.3 執(zhí)行診斷命令
composer diagnose
3.4 清除緩存
composer clear
3.5 項目更新composer.lock
composer update --lock
3.6 調(diào)試
# **Composer調(diào)試只需要在命令前加上-vvv就可以打印出錯信息** # 例如下載laravel命名為blog的項目composer -vvv create-project laravel/laravel blog
3.7 安裝依賴包
# 該命令僅限在項目根目錄操作 composer install
3.8 更新依賴包
# 該命令僅限在項目根目錄操作 ### 更新所有依賴包 composer update ### 更新指定依賴包 composer update monolog/monolog ### 更新多個指定依賴包 composer update monolog/monolog symfony/dependency-injection ### 根據(jù)通配符匹配更新依賴包 composer update monolog/monolog symfony/*
3.9 移除依賴包
# 移除指定依賴包 composer remove monolog/monolog # 根據(jù)通配符匹配移除依賴包 composer remove monolog/monolog symfony/*
3.10 搜索依賴包
# 搜索依賴包:輸出包及其描述信息 composer search monolog # 只搜索包:--only-name composer search --only-name monolog # 根據(jù)通配符搜索依賴包 composer search mono*
3.11 查看依賴包
# **該命令僅限項目根目錄使用**# 查看**當(dāng)前項目**已安裝的依賴包 composer show # 根據(jù)通配符**當(dāng)前項目**進行篩選 composer show laravel*# 查看**當(dāng)前項目**指定依賴包 composer show laravel/tinker
(四)項目的使用
在項目中,我們常常使用composer來進行包或者庫的下載與更新,但是往往我們在使用中也會遇到各種各樣的問題。接下來,我們將解決常見的問題。
4.1 寶塔面板安裝Composer
composer 的安裝需要php開啟 putenv 函數(shù) ,否則會安裝失??!由于 putenv 函數(shù)可以設(shè)置特定的環(huán)境變量而被認為是一個潛在的安全漏洞,因此php在安裝之初是默認禁止它的!
- 刪除禁用函數(shù)
寶塔面板出于對于安全的考慮,自動禁用了一些函數(shù);因為安裝Composer也會用到相應(yīng)的函數(shù),我們應(yīng)該先刪除在安裝 Composer 。 ????????安裝 Composer 需要刪除 的 PHP 禁用函數(shù):
putenv()
????????友情提示: 在使用 Composer 的時候需要根據(jù)項目的php版本去做操作(安裝多少個PHP版本就需要相對應(yīng)刪除),下圖示范是根據(jù) 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文件** : 刪除函數(shù)putenvvim /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 函數(shù)即可!
4.2 PHP項目使用
- composer.lock已經(jīng)存在
使用場景: 由于下載代碼或者git代碼或者部署項目時會存在
composer.lock
, 首先應(yīng)該刪除composer.lock
# 項目中composer.lock已經(jīng)存在,需要進行刪除,再重新安裝,安裝成功后會重新生成composer.lock文件# 案例示范:**### 第一步:進入項目blog根目錄** cd wwwwwwrootblog **### 第二步:刪除composer.lock文件** # 刪除請核對文件名后謹慎操作rm -rf composer.lock **### 第三步:重新composer安裝項目所需包** composer install
(五)結(jié)尾
提示: 不要忘了經(jīng)常執(zhí)行
composer selfupdate
以保持 Composer 一直是最新版本哦!原文地址:https://learnku.com/articles/62076