多版本PHP使用composer時安裝的推薦方式


COMPOSER是PHP的依賴管理工具,有多個版本,並且都支持PHP5.3.2+版本。

官方網址:https://getcomposer.org/

 

 

COMPOSER安裝:

有幾種方式可以進行COMPOSER安裝:

 

1。下載 https://getcomposer.org/Composer-Setup.exe 安裝程序,點擊后開始安裝。

      這種EXE的安裝包,只有WINDOWS可以使用,它會安裝最新版的COMPOSER

       安裝時可以選擇安裝目錄,會要求定位查找某個PHP所在目錄,安裝過程會使用到該版本PHP並且進行一些必要的檢查。

      安裝完成后會自動生成composer.batcomposer.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出錯的情況下使用)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM