安装了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使用中常见的问题的更多相关文章

  1. composer 重装常见错误

    install composer error: ------------------------------------ The PHP exe file you specified did not ...

  2. windows中wamp环境composer使用中openssl问题解决

    今天在windows下学习lavaral,使用composer update命令报如下错误: [Composer\Exception\NoSslException] The openssl exten ...

  3. SVN版本号管理工具使用中常见的代码提交冲突问题的解决方法

    相信刚開始学习使用SVN的小伙伴在项目合作开发的过程中一定常常遇到一些影响到自己编写的代码的苦恼.我这里列举了几种常见的问题以及问题的解决方法: 1.误删除和误操作的问题 问题1:有A和B两个人一块合 ...

  4. 饮冰三年-人工智能-Python-23 Python PyCharm 使用中常见的问题

    一:软件工具使用中遇到的问题 1:AttributeError: module 'pip' has no attribute 'main'问题 处理方法: a:找到JetBrains\PyCharm ...

  5. 线程使用中常见的错误-“System.InvalidOperationException”线程间操作无效: 从不是创建控件“ ”的线程访问它。

    “System.InvalidOperationException”类型的未经处理的异常在 System.Windows.Forms.dll 中发生 其他信息: 线程间操作无效: 从不是创建控件“la ...

  6. vi 编辑器使用中常见的命令

    原创作品,转载请在文章头部(显眼位置)注明出处:https://www.cnblogs.com/sunshine5683/p/10014724.html 要在linux学习的路上越走越远,总结是必不可 ...

  7. Django使用中常见的错误

    Django Mysql SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED   Django 执行makemigrations  的时候报错 ...

  8. SQLite数据库多平台应用及常见错误分析

    SQLite是一个软件库,实现了自给自足的.无服务器的.零配置的.事务性的SQL数据库引擎.SQLite是世界上最广泛部署的数据库引擎之一.SQLite源代码开放,没有授权限制.正是因为其免费.轻巧. ...

  9. 关于python数据序列化的那些坑

    -----世界上本来没那么多坑,python更新到3以后坑就多了 无论哪一门语言开发,都离不了数据储存与解析,除了跨平台性极好的xml和json之外,python要提到的还有自身最常用pickle模块 ...

随机推荐

  1. C#通过存储过程进行查询

    一直不确定C#可以通过存储过程进行查询,今天才确定是可以的. 可以返回DataReader或者Dataset.

  2. SVN提交.a文件的方法

    选择菜单View-->Ignored Files,这样就会显示出ignored的文件,找到你要上传的.a文件,右键“Add”就可以了.

  3. eclipse下部署web工程的两种方式

    习惯了Eclipse 的开发,就觉得不想那么懒去用MyEclipse傻瓜式的部署工程. 第一种,手动部署工程. 情况一:如果工程目录在tomcat目录的webapp目录下,这种情况就不需要有工程部署的 ...

  4. scala学习笔记(1)

    下载和安装Scala 前往http://www.scala-lang.org/downloads下载Scala在各个平台的安装包,安装后即可在运行scala编译器和交互式命令行环境(interacti ...

  5. PHP——生成随机数和日期时间

    在PHP里面两个常用的函数 rand();    生成随机数   当括号内无参数时 系统会以当前时间为种子进行随机数的生成 rand(1,10);  括号里面是生成随机数的范围,在形成的随机数在1~1 ...

  6. 封装page分页类

    类: <?php //分页工具类 class Page{ /*         * 获取分页字符串         * @param1 string $uri,分页要请求的脚本url       ...

  7. codeforces 446C DZY Loves Fibonacci Numbers(数学 or 数论+线段树)(两种方法)

    In mathematical terms, the sequence Fn of Fibonacci numbers is defined by the recurrence relation F1 ...

  8. 动画--过渡延迟时间 transition-delay

    transition-delay属性和transition-duration属性极其类似,不同的是transition-duration是用来设置过渡动画的持续时间,而transition-delay ...

  9. html5文件上传

    <!DOCTYPE html><html><head> <title>Html5 Ajax 上传文件</title></head> ...

  10. oracle添加日志表

    --创建表 CREATE TABLE KNET_DOMAIN_DNS_FORWARDED ( ID BYTE) DEFAULT sys_guid() NOT NULL , KEYWORD BYTE) ...