一、安裝
下載并安裝composer
curl -sS https://getcomposer.org/installer | php
將composer放入系統(tǒng)目錄由桌,方便直接調(diào)用
mv composer.phar /usr/local/bin/composer
查看是否安裝成功
composer --version
二为黎、Composer安裝ThinkPHP5.1
使用composer在網(wǎng)站根目錄中安裝ThinkPHP5.1:
cd /usr/share/nginx
composer create-project topthink/think=5.1.* tp5
之后composer會提示你不要使用root權(quán)限安裝代碼:
Do not run Composer as root/super user! See https://getcomposer.org/root for details
故切換為其他用戶,添加文件權(quán)限:
useradd loveuzi
passwd loveuzi
chown -R root:loveuzi /usr/share/nginx
su loveuzi
由于外網(wǎng)速度坑爹沥寥,需要更換國內(nèi)鏡像源:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
安裝效果如圖:
Ctrl+D切換回root用戶碍舍,再把文件權(quán)限改回來:
chown -R root:nginx /usr/share/nginx
把網(wǎng)站文件移入html:
mv tp5/* html
配置config/database.php中的數(shù)據(jù)庫信息,在application/index/controller/Index.php中加入public function test() {print_r(('user')->where('id',1)->find());}邑雅,然后訪問你的網(wǎng)址(由于沒有配置PATHINFO片橡,只能用s來傳參):
http://yourwebsite.com/public/index.php
http://yourwebsite.com/public/index.php?s=/index/index/test
頁面出現(xiàn)即網(wǎng)站安裝成功,數(shù)據(jù)庫成功訪問淮野。
三捧书、指令
基礎(chǔ)配置文件composer.json
{
"require": {
"monolog/monolog": "1.2.*"
}
}
# 按照composer.json安裝依賴包
composer install
# 單獨引入依賴包
composer require monolog/monolog
# 更新所有依賴
composer update
# 更新指定的包
composer update monolog/monolog
# 移除制定的包
composer remove monolog/monolog
# 搜索依賴包
composer search monolog
# 列出所有已經(jīng)安裝的包
composer show
# 可以通過通配符進行篩選
composer show monolog/*
# 顯示具體某個包的信息
composer show monolog/monolog
四、基本約束
精確版本
我們可以告訴 Composer 安裝的具體版本骤星,例如:1.0.2经瓷,指定 1.0.2 版本。
范圍
通過使用比較操作符來指定包的范圍洞难。這些操作符包括:>舆吮,>=,<队贱,<=色冀,!=。
你可以定義多個范圍柱嫌,使用空格或者逗號 , 表示邏輯上的與锋恬,使用雙豎線 || 表示邏輯上的或。其中與的優(yōu)先級會大于或编丘。 實例:
=1.0
=1.0 <2.0
=1.0 <1.1 || >=1.2
我們也可以通過使用連字符 - 來指定版本范圍与学。
連字符的左邊表明了 >= 的版本,如果右邊的版本不是完整的版本號嘉抓,則會被使用通配符進行補全索守。例如1.0 - 2.0等同于>=1.0.0 <2.1(2.0相當于2.0.*),而1.0.0 - 2.1.0則等同于>=1.0.0 <=2.1.0抑片。
通配符
可以使用通配符來設(shè)置版本蕾盯。1.0.相當于>=1.0 <1.1。
例子:1.0.
波浪號 ~
我們先通過后面這個例子去解釋~操作符的用法:~1.2
相當于>=1.2 <2.0.0
,而~1.2.3
相當于>=1.2.3 <1.3.0
级遭。對于使用Semantic Versioning
作為版本號標準的項目來說望拖,這種版本約束方式很實用。例如~1.2
定義了最小的小版本號挫鸽,然后你可以升級2.0以下的任何版本而不會出問題说敏,因為按照Semantic Versioning
的版本定義,小版本的升級不應(yīng)該有兼容性的問題丢郊。簡單來說盔沫,~
定義了最小的版本,并且允許版本的最后一位版本號進行升級(沒懂得話枫匾,請再看一邊前面的例子)架诞。
例子:~1.2
需要注意的是,如果~作用在主版本號上干茉,例如
~1
谴忧,按照上面的說法,Composer可以安裝版本1以后的主版本角虫,但是事實上是~1
會被當作~1.0
對待沾谓,只能增加小版本,不能增加主版本戳鹅。
折音號 ^
^
操作符的行為跟Semantic Versioning
有比較大的關(guān)聯(lián)均驶,它允許升級版本到安全的版本。例如枫虏,^1.2.3
相當于>=1.2.3 <2.0.0
妇穴,因為在2.0版本前的版本應(yīng)該都沒有兼容性的問題。而對于1.0之前的版本隶债,這種約束方式也考慮到了安全問題腾它,例如^0.3
會被當作>=0.3.0 <0.4.0
對待。
例子:^1.2.3