一、安装
下载并安装composer
curl -sS https://getcomposer.org/installer | php
将composer放入系统目录,方便直接调用
mv composer.phar /usr/local/bin/composer
查看是否安装成功
composer --version
二、Composer安装ThinkPHP5.1
使用composer在网站根目录中安装ThinkPHP5.1:
cd /usr/share/nginx
composer create-project topthink/think=5.1.* tp5
之后composer会提示你不要使用root权限安装代码:
Do not run Composer as root/super user! See https://getcomposer.org/root for details
故切换为其他用户,添加文件权限:
useradd loveuzi
passwd loveuzi
chown -R root:loveuzi /usr/share/nginx
su loveuzi
由于外网速度坑爹,需要更换国内镜像源:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
安装效果如图:
Ctrl+D切换回root用户,再把文件权限改回来:
chown -R root:nginx /usr/share/nginx
把网站文件移入html:
mv tp5/* html
配置config/database.php中的数据库信息,在application/index/controller/Index.php中加入public function test() {print_r(('user')->where('id',1)->find());},然后访问你的网址(由于没有配置PATHINFO,只能用s来传参):
http://yourwebsite.com/public/index.php
http://yourwebsite.com/public/index.php?s=/index/index/test
页面出现即网站安装成功,数据库成功访问。
三、指令
基础配置文件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
# 列出所有已经安装的包
composer show
# 可以通过通配符进行筛选
composer show monolog/*
# 显示具体某个包的信息
composer show monolog/monolog
四、基本约束
精确版本
我们可以告诉 Composer 安装的具体版本,例如:1.0.2,指定 1.0.2 版本。
范围
通过使用比较操作符来指定包的范围。这些操作符包括:>,>=,<,<=,!=。
你可以定义多个范围,使用空格或者逗号 , 表示逻辑上的与,使用双竖线 || 表示逻辑上的或。其中与的优先级会大于或。 实例:
=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。
通配符
可以使用通配符来设置版本。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
的版本定义,小版本的升级不应该有兼容性的问题。简单来说,~
定义了最小的版本,并且允许版本的最后一位版本号进行升级(没懂得话,请再看一边前面的例子)。
例子:~1.2
需要注意的是,如果~作用在主版本号上,例如
~1
,按照上面的说法,Composer可以安装版本1以后的主版本,但是事实上是~1
会被当作~1.0
对待,只能增加小版本,不能增加主版本。
折音号 ^
^
操作符的行为跟Semantic Versioning
有比较大的关联,它允许升级版本到安全的版本。例如,^1.2.3
相当于>=1.2.3 <2.0.0
,因为在2.0版本前的版本应该都没有兼容性的问题。而对于1.0之前的版本,这种约束方式也考虑到了安全问题,例如^0.3
会被当作>=0.3.0 <0.4.0
对待。
例子:^1.2.3