天天看點

composer 的安裝和使用

一.什麼是composer,它有什麼優勢?

百度結果是:

Composer是PHP中用來管理依賴(dependency)關系的工具。你可以在自己的項目中聲明所依賴的外部工具庫(libraries),Composer會幫你安裝這些依賴的庫檔案。

中國全量鏡像的解釋是:

是 PHP 用來管理依賴(dependency)關系的工具。你可以在自己的項目中聲明所依賴的外部工具庫(libraries),Composer 會幫你安裝這些依賴的庫檔案。

也就是說,它的主要作用是安裝我們需要的代碼庫。但是,代碼庫其實在建立項目的時候,完全可以直接送出到代碼倉庫,為什麼要使用composer來安裝呢?

composer 的優勢如下:

1.友善項目的部署和釋出:僅需要提供一個composer.json檔案,申明需要用到的三方庫,再加上一個簡單的指令就能将其依賴全部裝好

2.三方庫的更新:僅僅需要一個 composer update 就可以更新三方庫,更新composer.lock檔案了

二.composer的安裝

按照中國全量鏡像的安裝就行了,講的很詳細,我這兒的步驟完全可以忽略

安裝方法

在windows的安裝,我使用的方法是:

1.確定打開了openssl的擴充,在php.ini裡面将extension=php_openssl.dll前面的逗号去掉

2.下載下傳composer包

可能會有點慢

3.使用指令

php +下載下傳的安裝包  進行安裝

4.檢查安裝是否成功

php composer.phar -v 檢查版本

5.注意這是局部安裝,如果想全局安裝需要做如下操作:

     找到composer.phar的所在,我是使用的內建環境wamp,我的composer.php是在wamp64/bin/php5.6.25下面,進入這個目錄之後

    執行

echo @php "%~dp0composer.phar" %*>composer.bat
           

來建立一個composer.bat檔案,内容是

@php "%~dp0composer.phar" %*
           

執行完,就已經是全局了,可以使用composer -v 來檢查是否成功,以後進行composer相關指令也不用使用php composer.phar了

三.使用composer中遇到的坑

1.  在composer selfupdate 的時候,報 zlib_decode data error錯誤

在網上找到一個解決方法是:

      zlib.output_compression = On

     php.ini裡面的說明是:Transparent output compression using the zlib library ,Valid values for this option are 'off', 'on', or a specific buffer size to be used for compression (default is 4KB) 設定透明輸出的壓縮使用zlib庫,有效的值有三種:on ,off和設定壓縮的緩沖大小,預設是4kb

      zlib.output_compression_level = 5

官網得說明是:Compression level used for transparent output compression. Specify a value between 0 (no compression) to 9 (most compression). The default value, -1, lets the server decide which level to use. 這個值的含義是:伺服器在透明輸出中的壓縮程度,值在0(不壓縮)到9(最大程度的壓縮)之間,預設的值是-1

了解完這兩個設定,就會發現增加這兩個設定并沒有什麼用,事實證明,的确沒用。

其實是網絡的問拉,是以換源啊

composer config -g repo.packagist composer https://packagist.phpcomposer.com
           

嗯,醬紫就換了源,但是問題又來了,他會報錯,說你的配置導緻了不允許你通路這個網站,現在請通路:

https://getcomposer.org/doc/06-config.md#secure-http 檢視解決方案:

進去一看:

secure-http

Defaults to true. If set to true only HTTPS URLs are allowed to be downloaded via Composer. If you really absolutely need HTTP access to something then you can disable it, but using Let's Encrypt (https://letsencrypt.org/)to get a free SSL certificate is generally a better alternative.

secure-http參數預設的值是true,當他是true的時候,代表通過composer下載下傳的連接配接必須是https的連接配接,如果你真的想讓http也可以的話,那就禁用它設定值為false吧。但是,使用(https://letsencrypt.org/)去申請一個ssl證書是一個更好的選擇。

那就直接關閉了呗:composer config -g secure-http false

2.安裝"fxp/composer-asset-plugin:^1.1"

現在回想起來當時之是以覺得艱難,是因為沒有找到好的資料,後來找到一個中國全量鏡像,裡面的安裝,使用什麼其實介紹的非常清楚,按照這個走,可以少走很多彎路

http://docs.phpcomposer.com/