COMPOSER是PHP的依賴管理工具,有多個版本,並且都支持PHP5.3.2+版本。
COMPOSER安裝:
有幾種方式可以進行COMPOSER安裝:
1。下載 https://getcomposer.org/Composer-Setup.exe 安裝程序,點擊后開始安裝。
這種EXE的安裝包,只有WINDOWS可以使用,它會安裝最新版的COMPOSER
安裝時可以選擇安裝目錄,會要求定位查找某個PHP所在目錄,安裝過程會使用到該版本PHP並且進行一些必要的檢查。
安裝完成后會自動生成composer.bat及composer.phar文件。
2。下載https://getcomposer.org/installer 保存為任意名稱的PHP文件(通常取名為composer-set.php)。
然后通過某版本的PHP命令行進行執行該PHP文件
(命令如:某版本php可執行文件 composer-setup.php 。在LINUX中下載和執行還可以一步完成:curl -sS https://getcomposer.org/installer | 某版本php可執行文件 。如果已經配置了默認版本PHP的環境變量,“某版本php可執行文件" 就直接換成"php")
安裝時可以指定安裝目錄(通過--install-dir= 來指定其它位置,否則默認會安裝在命令行定位的當前工作目錄),安裝過程會使用該版本的PHP,並進行一些必要的檢查。
安裝完成后會自動生成composer.phar文件。
bug: 注意如果此時要安裝非最新版本(即指定了--version,但不是最新版本),可能會出現下載卡住或404出錯,這是因為最新的composer-set.php文件里指定了各版本會從install.phpcomposer.com下載,除了最新版下載文件在該域名下,而舊版本文件還沒有轉移過去,不在該域名下,而是在getcomposer.org域名下(它還包含最新版)。
此時可以對composer-set.php作如下修改:
//$this->baseUrl = $uriScheme.'://install.phpcomposer.com';
$this->baseUrl = $uriScheme.'://getcomposer.org';
3。 直接下載某版本(或各版本)的PHAR文件。
如下載最新版的:https://getcomposer.org/composer-stable.phar
windows命令行: explorer https://getcomposer.org/composer-stable.phar
linux命令行: curl https://getcomposer.org/composer-stable.phar
其它版本的:
V2.0.7: https://getcomposer.org/download/2.0.7/composer.phar
V2.0.6: https://getcomposer.org/download/2.0.6/composer.phar
V2.0.5: https://getcomposer.org/download/2.0.5/composer.phar
......
將直接下載保存到指定的目錄。這種安裝不需要指定某版本的PHP,而且暫時不會進行必要的檢查(通常在后期使用的時候根據出錯情況再在PHP.INI配置就可以)。
三種安裝方式最終都會有composer.phar文件,這個才代表的最終的COMPOSER。
所以推薦使用第三種直接下載的形式,它可以暫時免去必要的檢查,防止前兩種的安裝過程中出現的錯誤(一旦出錯就生成不了composer.phar)
PHAR文件是一種PHP的歸檔文件(類似於JAVA的JAR),所以是可以通過PHP直接執行的。所以我們說的使用COMPOSER,其代表的意思就是:
通過PHP命令行執行composer.phar文件,其形式命令行代碼如:
某版本的php可執行文件 某版本的composer.phar ....
例子:
(WINDOWS下 .exe可以省略)
d:/wamp/php/5.4.0/bin/php d:/composer/composer2.0.6.phar ...
d:/wamp/php/5.5.1/bin/php d:/composer/composer2.0.6.phar ...
d:/wamp/php/7.0.2/bin/php d:/composer/composer2.0.7.phar ...
(LINUX下,.sh, .phar也可以省略)
/usr/lamp/php/5.4.0/bin/php /usr/composer/composer2.0.6 ...
/usr/lamp/php/5.5.1/bin/php /usr/composer/composer2.0.6 ...
/usr/lamp/php/7.0.2/bin/php /usr/composer/composer2.0.7 ...
接下來就是如何簡化上述形式了,我們可以使用批處理或SHELL腳本。
首先,由於composer的任何版本針對PHP5.3.2或上以版本都是可行的,所以只需要使用一個版本的COMPOSER即可(推薦使用最新版本),不需要使用多版本的composer.phar。
WINDOWS下利用bat或cmd處理命令:
假設: d:/composer/為composer安裝(或存放)目錄。目錄里有composer.phar為最新版(或某個舊版)
1)首先將composer.phar所在目錄(d:/composer/)添加到環境變量。
composer.phar同目錄下創建: composer540.bat 內容為:
@echo off
"d:/wamp/php/5.4.0/bin/php" "d:/composer/composer.phar" %*
composer.phar同目錄下創建: composer551.bat 內容為:
@echo off
"d:/wamp/php/5.5.1/bin/php" "d:/composer/composer.phar" %*
composer.phar同目錄下創建: composer702.bat 內容為:
@echo off
"d:/wamp/php/7.0.2/bin/php" "d:/composer/composer.phar " %*
多個版本就復制多份批處理,修改內容當中的PHP相應版本的路徑后,保存為不同名稱的BAT文件。
使用簡化后的命令:
composer540 ...
composer551 ...
composer702 ...
嫌名稱太長的話可以更進一步,將批處理文件命名短點: c540.bat/c551.bat/c702.bat 那命令就縮短為:
c540 ...
c551 ...
c702 ...
LINUX下是同理的,只不過其可執行腳本為SHELL腳本
多版本PHP可用的COMPOSER安裝的最終推薦的方式(以WINDOWS為例,LINUX類似):
采用形式:不在項目里局部安裝,不在各版本PHP目錄里安裝,只在獨立的目錄里安裝
第一步: 下載最新composer.phar: https://getcomposer.org/composer-stable.phar 保存為 f:\composer\composer.phar。將所在目錄添加到環境變量(將f:\composer添加到環境變量)
第二步: 在composer.phar保存的目錄里新建composer.bat文件,內容編寫如:
@echo OFF
"默認使用的PHP版本安裝目錄/bin/php" "f:/composer/composer.phar" %*
如果有多個版本PHP,直接再復制composer.bat,並重新命名(如composer540.bat,有幾個版本就復制幾份),修改bat文件內容如:
@echo OFF
" c:/wamp/php/5.4.0/bin/php" "f:/composer/composer.phar" %*
第三步:使用命令:
使用默認版本: composer ....
使用PHP5.4.0版本 : composer540 ...
命令出錯就根據信息修改(由於采用直接下載phar文件,忽略安裝過程,所以根據出錯信息修改相應的php.ini。)
另外如果提示PHP版本過低的情況,這個跟使用COMPOSER的版本沒有關系,除非你使用了PHP5.3.2以下版本。這種情況跟依賴管理的提供方有關,即提供方的類庫(框架)不支持低版本PHP。
TIPS:
1。不知道(或忘記)版本:
composer -V
2。不知道(或忘記)COMPOSER安裝在哪里:
composer -h
最后的信息部分,會出現類如:
The help command displays help for a given command:
php f:\composer\composer.phar help list
就可以知道路徑。
3。更新到最新的COMPOSER版本:
composer self-update
或者:下載最新composer.phar: https://getcomposer.org/composer-stable.phar 然后放到原安裝目錄,覆蓋原來的就行(這種可以在self-update出錯的情況下使用)