前言:隨著開源的東西越來越多,一些好的代碼我們是可以直接拿過來用的忘晤,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)以下出錯:
- 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前面的分號去掉就可以了:
-
提示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命令了控汉。