一.什么是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/