Composer是干嘛的症歇,怎么用它郎笆?

前言:隨著開源的東西越來越多,一些好的代碼我們是可以直接拿過來用的忘晤,github更是加快了這一節(jié)奏宛蚓,在github上我們可以看到一些開源的項目、代碼塊设塔、函數(shù)庫凄吏、類結(jié)構(gòu)等,我們可以直接Fork壹置,然后用在我們自己的項目中竞思,既高效又方便表谊。nodejs 出現(xiàn)后钞护,更是一大批開源的好東西被我們使用,npm就是node.js中蠻好用的包管理軟件爆办,我們可以用npm 命令復制其他人的一些好的項目难咕,用起來很爽。但是距辆,php中貌似還沒有這樣類似的包管理工具余佃,我們發(fā)現(xiàn)別人的代碼,還是停留在手工階段跨算,手工將其他人的代碼copy到自己的項目中爆土,有更新我們同樣靠手工copy文件。于是composer應運而生了诸蚕。

1步势、composer是什么氧猬?

前言說了。composer是PHP的包管理坏瘩、包依賴關(guān)系管理工具盅抚,有了它,我們就很輕松一個命令就可以把他人優(yōu)秀的代碼用到我們的項目中來倔矾,而且很容易管理依賴關(guān)系妄均,更新刪除等操作也很輕易的實現(xiàn)。

2哪自、 composer 的安裝

composer是一款軟件丰包,當然也需要安裝。它支持多平臺壤巷,我們將在window和centos 上安裝它烫沙。

2.1 wondows 安裝

首先官網(wǎng)下載:https://getcomposer.org/Composer-Setup.exe 。很小隙笆。1M都沒有锌蓄。這個鏈接永遠是最新版本的。下載好了后撑柔。就是各種下一步下一步安裝了瘸爽,到這一步,需要填入php.ini的所在目錄铅忿,記住wamp這類的安裝包會有2個php.ini文件剪决。不要填apache的目錄所在php.ini。需要填入php目錄下的這個配置文件檀训。


這樣安裝完成了柑潦。很爽。

2.2 安裝的時候可能會出現(xiàn)以下出錯:
  1. The openssl extension is missing, which will reduce the security and stability of Composer. If possible you should enable it or recompile php with --with-openssl"

意思是說php沒有開啟openssl配置峻凫。我們打開php目錄下的php.ini渗鬼。將openssl前面的分號去掉就可以了:

  1. 提示php的版本太低,composer支持5.3+的版本荧琼。如果你是5.3-的話就只能去升級一下php的版本了譬胎。

    接下來我們驗證一下安裝成功了沒?打開cmd命锄。win+r 快捷鍵打開cmd命令對話框堰乔,輸入composer:



    說明安裝成功了。恭喜脐恩。
    windows的版本安裝镐侯,相對于比較簡單很方便,其實呢驶冒,它替我們做了很多事苟翻。
    1搭伤、 幫我們把php和composer這兩個命令給加到了系統(tǒng)環(huán)境變量。這樣我們能全局只直接使用這兩個命令:
    我們在安裝的時候可以看到:


我們打開系統(tǒng)的環(huán)境變量看看袜瞬,是否添加了:


2怜俐、幫我們把php composer.phar命令簡化成composer命令了。很爽:

2.3 linux上的安裝

linux上的安裝其實說簡單也跟簡單邓尤,官網(wǎng)上有很多種安裝方式拍鲤,我們知道第一種就可以了,也是最快的汞扎。

 curl -s http://getcomposer.org/installer | php
2.4 錯誤提示

1季稳、 如果出現(xiàn)-bash: php: command not found 錯誤提示,說明php是源碼安裝的澈魄,php這個命令沒有加入到系統(tǒng)環(huán)境景鼠。我們在上一步安裝windows版本的時候,軟件已經(jīng)幫自動我們幫把php命令加入了系統(tǒng)環(huán)境path路徑痹扇。
linux下如何把php加入系統(tǒng)環(huán)境呢:

 01.修改/etc/profile文件使其永久性生效铛漓,并對所有系統(tǒng)用戶生效,在文件末尾加上如下兩行代碼  
 02.PATH=$PATH:/usr/local/php5/bin  
 03.export PATH  

最后:執(zhí)行 命令source /etc/profile或 執(zhí)行點命令 ./profile使其修改生效鲫构,執(zhí)行完可通過echo $PATH命令查看是否添加成功浓恶。
2、 如果提示:

#!/usr/bin/env php
Some settings on your machine make Composer unable to work properly.
Make sure that you fix the issues listed below and run this script again:
The openssl extension is missing, which means that secure HTTPS transfers are impossible.
If possible you should enable it or recompile php with --with-openssl

也是一樣结笨,php的openssl沒有安裝包晰,需要進入php源代碼重新編譯,我這里簡單記錄下如何添加php的openssl擴展:
1炕吸、因為我是源碼方式安裝的php伐憾,所以需要重新編譯,這點比windows上蛋疼的多赫模。進入php的源碼包树肃,如果刪除了的,需要重新下載這個對應的版本:

01.[root@localhost ~]# cd /lamp/php-5.4.11/ext/openssl/  
02.[root@localhost openssl]# 

2嘴瓤、 用phpize添加配置編譯:

01.#openssl目錄下有個config.w32和config0.m4扫外,把config0.m4改名為config.m4(不清楚什么原因,必須這么改廓脆,很重要!4庞瘛停忿!)  
02.[root@localhost openssl]# cp config0.m4 config.m4  
03.[root@localhost openssl]# /usr/local/php/bin/phpize #使用phpize命令動態(tài)添加配置  
04.[root@localhost openssl]# ./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config #編譯  
05.[root@localhost openssl]# make  
06.[root@localhost openssl]# make test  
07.[root@localhost openssl]# make install  
08.Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20100525/  

注意:如果configure這一步出錯:configure: error: libssl not found!∥蒙。可能是系統(tǒng)沒安裝openssl擴展席赂,可以:yum -y install openssl-devel 安裝吮铭。
3、 修改php.ini 颅停,把剛才編譯好的openssl.so添加進去:

01.[root@localhost no-debug-zts-20100525]# vi /usr/local/php/etc/php.ini   
02.#GG 定位到最小面谓晌,加入這一行:  
03.extension=openssl.so  

搞定,由于我們使用php癞揉,并沒有用到apache纸肉。所以可以不用重啟apache服務器。
安裝好了后喊熟,我們驗證下是否正確安裝:

$ php composer.phar #執(zhí)行  

3柏肪、 composer的使用

我們在正確成功安裝好composer之后,就可以使用這個利器了芥牌。不管是windows版本還是linux版本使用命令方式都一樣:

01.php composer.phar + 命令 

我們剛才安裝的windows版本直接可以使用composer 命令烦味,前面說了,其實也是php composer.phar這2個的組合壁拉。


新的問題出來了谬俄。就是我們每次要去新下載一個其他人的項目,我們都必須要到在新項目的目錄下重新下載一次composer.phar文件或者是這樣:[root@root /]# php /home/test/composer.phar 相對路徑讀取到composer弃理。能不能也把composer.phar像php命令這樣搞成一個全局的凤瘦。直接用 composer該多好啊案铺!

[root@localhost /]# cd /usr/local/composer/  
[root@localhost composer]# cp composer.phar /usr/bin/composer  

搞定蔬芥,這樣就能和windows一樣,全局使用composer命令了控汉。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末笔诵,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子姑子,更是在濱河造成了極大的恐慌乎婿,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件街佑,死亡現(xiàn)場離奇詭異谢翎,居然都是意外死亡,警方通過查閱死者的電腦和手機沐旨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進店門森逮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人磁携,你說我怎么就攤上這事褒侧。” “怎么了?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵闷供,是天一觀的道長烟央。 經(jīng)常有香客問我,道長歪脏,這世上最難降的妖魔是什么疑俭? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮婿失,結(jié)果婚禮上钞艇,老公的妹妹穿的比我還像新娘。我一直安慰自己移怯,他們只是感情好香璃,可當我...
    茶點故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著舟误,像睡著了一般葡秒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上嵌溢,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天眯牧,我揣著相機與錄音,去河邊找鬼赖草。 笑死学少,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的秧骑。 我是一名探鬼主播版确,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼乎折!你這毒婦竟也來了绒疗?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤骂澄,失蹤者是張志新(化名)和其女友劉穎吓蘑,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體坟冲,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡磨镶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了健提。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片琳猫。...
    茶點故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖矩桂,靈堂內(nèi)的尸體忽然破棺而出沸移,到底是詐尸還是另有隱情痪伦,我是刑警寧澤侄榴,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響扎瓶,放射性物質(zhì)發(fā)生泄漏著蛙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一桦山、第九天 我趴在偏房一處隱蔽的房頂上張望攒射。 院中可真熱鬧,春花似錦恒水、人聲如沸会放。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽咧最。三九已至,卻和暖如春御雕,著一層夾襖步出監(jiān)牢的瞬間矢沿,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工酸纲, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留捣鲸,地道東北人。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓闽坡,卻偏偏與公主長得像栽惶,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子疾嗅,可洞房花燭夜當晚...
    茶點故事閱讀 43,562評論 2 349

推薦閱讀更多精彩內(nèi)容

  • 是什么 如果你知道yum外厂、apt-get、npm宪迟、bower等命令中的一種或者多種酣衷,那么,你也能很快知道compo...
    旱魃一樣閱讀 3,120評論 0 9
  • Welcome 目前網(wǎng)絡(luò)上充斥著大量的陳舊信息次泽,讓PHP新手誤入歧途穿仪,傳播著錯誤的實踐和糟糕的代碼,這必須得到糾正...
    layjoy閱讀 21,663評論 7 118
  • Composer 是 PHP 的一個依賴管理工具 非常類似1意荤、 NodeJS的NPM2啊片、JAVA的maven3、p...
    黃123閱讀 1,585評論 0 1
  • 在composer的概念中呢,我們已經(jīng)了解到composer究竟是干什么的,然后也了解到,有了composer之后...
    布爾教育閱讀 2,604評論 0 6
  • 能很好把握傾聽與傾訴的度的人玖像,是最合格的聊天對象了紫谷,我一直很希望自己能成為一個會聊天的人。 曾經(jīng)的自己善于傾聽,很...
    藍天之外閱讀 525評論 0 0