Composer常见问题
Composer常见问题
安装了Composer后,运行composer --version
,查看Composer的版本号。如果出现下面的提示,那么软件安装成功。
Composer version 1.2.0 2016-07-19 01:28:52
若想给某个项目添加类似monolog的第三方库,则按下面的步骤操作:
新建composer.json文件,添加内容:
{
"require": {
"monolog/monolog": "1.20.0"
},
"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.phpcomposer.com" // Mirror site in China.
}
}
}
以命令行方式打开项目的根目录,输入命令:
composer install
;
正常情况下,一切顺利,执行完上述命令就能够成功导入monolog库到项目中。但是,现实与想象总是有段距离,上面只是走完了“长征”路程的一半,还有“雪山”要翻、“草地”要过呢!
执行完命令:composer install
后,并不会像期待那样地导入依赖,而是抛出异常。
The openssl extension is required for SSL/TLS protection but is not available. If you can not enable the openssl exension, you can disable this error, at your own risk, by setting the 'disable-tls' option to true.
这段异常日志的大致意思是,Composer采用SSL连接,需要外挂OpenSSL插件。
要消除这个异常,有两种解决方式,一是放弃SSL连接、直接“裸奔”;二是启用OpenSSL。
取消SSL连接的命令是composer config -g -- disable-tls true
。然而并没有什么卵用,试过之后,又抛出了新的异常。
剩下来的方案就是尝试启用OpenSSL。安装了PHP后,安装目录(类似C:\php-5.6.24)中包含两个文件,一个是php.ini-development,另一个是php.ini-production,选择将其中任意的一个文件重命名为php.ini,用作PHP的默认配置文件。通过修改配置文件来启用OpenSSL插件。
编辑php.ini文件,首先,定位到:
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
extension_dir = "./"
; On windows:
extension_dir = "ext"
删除extension_dir = "./"
和extension_dir = "ext"
前面的分号,取消注释这两行代码,配置PHP插件目录为./ext
。
然后,定位到:
...
;extension=php_mysqli.dll
;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client
extension=php_openssl.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
...
删除extension=php_openssl.dll
前面的分号,取消注释,从而启用OpenSSL插件。
注意:因为SSL连接需要认证,所以继续下面的步骤之前,需要准备好CA证书(建议把证书保存到C:\php-5.6.24\verify
目录中),可以从https://curl.haxx.se/docs/caextract.html处下载。
接下来,定位到
;openssl.cafile=
和上面一样,删去分号,取消注释,设置CA证书为openssl.cafile= C:\php-5.6.24\verify\cacert.pem
。
最后, 重新在命令行窗口中打开项目的根目录,执行命令:composer install
,等待几分钟后,就可以成功添加monolog依赖。
Composer常见问题的更多相关文章
- windows下 composer常见问题及处理
错误一: Warning: This development build of composer is over 30 days old. It is recommend ed to update i ...
- 使用Docker 一键部署 LNMP+Redis 环境
使用Docker 部署 LNMP+Redis 环境 Docker 简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linu ...
- PHP的Laravel与Composer部署项目时常见问题
我们在部署PHP项目时,其实大部分的PHP项目会创建环境检测与一键**Install**页面. 但是,有许多的项目还采用了Composer部署. 什么是Composer 至于什么是Composer,我 ...
- Composer使用
是什么 如果你知道yum.apt-get.npm.bower等命令中的一种或者多种,那么,你也能很快知道composer是什么了.没错,它就是PHP里快速安装类库的.平时,我们安装一个PHP类库,需要 ...
- 发布一个PHP包到Packagist, 然后使用Composer安装
Composer 能够方便的进行项目的依赖管理, 当我们发布一个包并且希望别人通过Composer安装的时候, 就需要将包发布到Composer的包仓库Packagist上面. 下面进行详细的说明一 ...
- window/linux composer安装/卸载
packagist库:https://packagist.org/ window 安装 参考地址:https://www.kancloud.cn/thinkphp/composer/35668 1. ...
- Composer 中文镜像 Lavavel-china 公益项目
『Composer 中国全量镜像』是由 Laravel China 社区联合 又拍云 与 优帆远扬 共同合作推出的公益项目,旨在为广大 PHP 用户提供稳定和高速的 Composer 国内镜像服务. ...
- Composer与laravel安装
首先,要知道Composer是什么? Composer是PHP中用来管理依赖(dependency)关系的工具.你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer会帮你 ...
- liunx系统安装composer与配置
1.下载composer curl -sS https://getcomposer.org/installer | php 2.我把它放在系统的PATH目录中,这样就能在全局访问它. mv compo ...
随机推荐
- Source Insight 光标变粗设置NotePad++光标设置
为了更好的查看文档和代码,避免半天都找不到光标的情况,故做此说明 Source Insight 光标变粗 菜单中 Options --->Preferences --->Typing -- ...
- 搬寝室 hdu
Problem Description 搬寝室是很累的,xhd深有体会.时间追述2006年7月9号,那天xhd迫于无奈要从27号楼搬到3号楼,因为10号要封楼了.看着寝室里的n件物品,xhd开始发呆, ...
- 数据结构之计算器的实现(JAVA)(四)
原理: 1.将中序表达式变化兴许表达式 2.当前字符为数字,将该数字放入栈中 3.当前字符为操作符,从栈中取出两个树,依据操作符来运算,将运算结果放入到栈中 4.反复,直到将字符操作完.此时栈中仅仅剩 ...
- poj 3311Hie with the Pie
题意:一个送披萨的,每次送外卖不超过10个地方,给你这些地方之间的时间,求送完外卖回到店里的总时间最小. 解法一: 这个n不大,即使是NP问题也才1E6多一些所以可以dfs():具体的回溯方法结合da ...
- ReactJS学习 相关网站
React 入门实例教程-阮一峰 http://www.ruanyifeng.com/blog/2015/03/react.html汇智网-React 互动学习http://hubwiz.com/co ...
- Apple Watch 1.0 开发介绍 1.3 简介 WatchKit App 架构
WatchKit app和WatchKit extension一起实现了app的界面.当用户在Apple Watch中操作时,WatchKit app从storyboards中选择合适的场景.比如,如 ...
- win7开机直接进入系统系统桌面
在开始搜索栏输入:netplwiz 选中admin用户(也就是你登录的用户名),然后在把上面的勾去掉,点应用,会提示输入用户名和密码,输二次,是一样的密码,如果没设密码,就不用输直接应用,确定就O ...
- Python 基金会 —— 模块和包简介
一.模块(Module) 1.模块的作用 在交互模式下输出的变量和函数定义,一旦终端重新启动后,这些定义就都不存在了,为了持久保存这些变量.函数等的定义,Python中引入了模块(Modul ...
- IOS基金会_ UICollectionView简单易用
和表格视图类似 UICollectionView的使用有两种方法 一种是继承UICollectionViewController,这个Controller会自带一个UICollectionView. ...
- CSS 之 光进入光
一个.概念 css,层叠样式表(英语:Cascading Style Sheets.简写CSS).又称串样式列表.层次结构式样式表文件,一 种用来为结构化文档(如HTML文档或XML应用)加入样式(字 ...