Composer常见问题

原文链接:Composer常见问题

安装了Composer后,运行composer --version,查看Composer的版本号。如果出现下面的提示,那么软件安装成功。

Composer version 1.2.0 2016-07-19 01:28:52

若想给某个项目添加类似monolog的第三方库,则按下面的步骤操作:

  1. 新建composer.json文件,添加内容:

     {
    "require": {
    "monolog/monolog": "1.20.0"
    },
    "repositories": {
    "packagist": {
    "type": "composer",
    "url": "https://packagist.phpcomposer.com" // Mirror site in China.
    }
    }
    }
  2. 以命令行方式打开项目的根目录,输入命令: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常见问题的更多相关文章

  1. windows下 composer常见问题及处理

    错误一: Warning: This development build of composer is over 30 days old. It is recommend ed to update i ...

  2. 使用Docker 一键部署 LNMP+Redis 环境

    使用Docker 部署 LNMP+Redis 环境 Docker 简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linu ...

  3. PHP的Laravel与Composer部署项目时常见问题

    我们在部署PHP项目时,其实大部分的PHP项目会创建环境检测与一键**Install**页面. 但是,有许多的项目还采用了Composer部署. 什么是Composer 至于什么是Composer,我 ...

  4. Composer使用

    是什么 如果你知道yum.apt-get.npm.bower等命令中的一种或者多种,那么,你也能很快知道composer是什么了.没错,它就是PHP里快速安装类库的.平时,我们安装一个PHP类库,需要 ...

  5. 发布一个PHP包到Packagist, 然后使用Composer安装

    Composer 能够方便的进行项目的依赖管理,  当我们发布一个包并且希望别人通过Composer安装的时候, 就需要将包发布到Composer的包仓库Packagist上面. 下面进行详细的说明一 ...

  6. window/linux composer安装/卸载

    packagist库:https://packagist.org/ window  安装 参考地址:https://www.kancloud.cn/thinkphp/composer/35668 1. ...

  7. Composer 中文镜像 Lavavel-china 公益项目

    『Composer 中国全量镜像』是由 Laravel China 社区联合 又拍云 与 优帆远扬 共同合作推出的公益项目,旨在为广大 PHP 用户提供稳定和高速的 Composer 国内镜像服务. ...

  8. Composer与laravel安装

    首先,要知道Composer是什么? Composer是PHP中用来管理依赖(dependency)关系的工具.你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer会帮你 ...

  9. liunx系统安装composer与配置

    1.下载composer curl -sS https://getcomposer.org/installer | php 2.我把它放在系统的PATH目录中,这样就能在全局访问它. mv compo ...

随机推荐

  1. Source Insight 光标变粗设置NotePad++光标设置

    为了更好的查看文档和代码,避免半天都找不到光标的情况,故做此说明 Source Insight 光标变粗 菜单中 Options --->Preferences --->Typing -- ...

  2. 搬寝室 hdu

    Problem Description 搬寝室是很累的,xhd深有体会.时间追述2006年7月9号,那天xhd迫于无奈要从27号楼搬到3号楼,因为10号要封楼了.看着寝室里的n件物品,xhd开始发呆, ...

  3. 数据结构之计算器的实现(JAVA)(四)

    原理: 1.将中序表达式变化兴许表达式 2.当前字符为数字,将该数字放入栈中 3.当前字符为操作符,从栈中取出两个树,依据操作符来运算,将运算结果放入到栈中 4.反复,直到将字符操作完.此时栈中仅仅剩 ...

  4. poj 3311Hie with the Pie

    题意:一个送披萨的,每次送外卖不超过10个地方,给你这些地方之间的时间,求送完外卖回到店里的总时间最小. 解法一: 这个n不大,即使是NP问题也才1E6多一些所以可以dfs():具体的回溯方法结合da ...

  5. ReactJS学习 相关网站

    React 入门实例教程-阮一峰 http://www.ruanyifeng.com/blog/2015/03/react.html汇智网-React 互动学习http://hubwiz.com/co ...

  6. Apple Watch 1.0 开发介绍 1.3 简介 WatchKit App 架构

    WatchKit app和WatchKit extension一起实现了app的界面.当用户在Apple Watch中操作时,WatchKit app从storyboards中选择合适的场景.比如,如 ...

  7. win7开机直接进入系统系统桌面

    在开始搜索栏输入:netplwiz   选中admin用户(也就是你登录的用户名),然后在把上面的勾去掉,点应用,会提示输入用户名和密码,输二次,是一样的密码,如果没设密码,就不用输直接应用,确定就O ...

  8. Python 基金会 —— 模块和包简介

    一.模块(Module) 1.模块的作用      在交互模式下输出的变量和函数定义,一旦终端重新启动后,这些定义就都不存在了,为了持久保存这些变量.函数等的定义,Python中引入了模块(Modul ...

  9. IOS基金会_ UICollectionView简单易用

    和表格视图类似 UICollectionView的使用有两种方法 一种是继承UICollectionViewController,这个Controller会自带一个UICollectionView. ...

  10. CSS 之 光进入光

    一个.概念 css,层叠样式表(英语:Cascading Style Sheets.简写CSS).又称串样式列表.层次结构式样式表文件,一 种用来为结构化文档(如HTML文档或XML应用)加入样式(字 ...