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使用中常见的问题的更多相关文章
- composer 重装常见错误
install composer error: ------------------------------------ The PHP exe file you specified did not ...
- windows中wamp环境composer使用中openssl问题解决
今天在windows下学习lavaral,使用composer update命令报如下错误: [Composer\Exception\NoSslException] The openssl exten ...
- SVN版本号管理工具使用中常见的代码提交冲突问题的解决方法
相信刚開始学习使用SVN的小伙伴在项目合作开发的过程中一定常常遇到一些影响到自己编写的代码的苦恼.我这里列举了几种常见的问题以及问题的解决方法: 1.误删除和误操作的问题 问题1:有A和B两个人一块合 ...
- 饮冰三年-人工智能-Python-23 Python PyCharm 使用中常见的问题
一:软件工具使用中遇到的问题 1:AttributeError: module 'pip' has no attribute 'main'问题 处理方法: a:找到JetBrains\PyCharm ...
- 线程使用中常见的错误-“System.InvalidOperationException”线程间操作无效: 从不是创建控件“ ”的线程访问它。
“System.InvalidOperationException”类型的未经处理的异常在 System.Windows.Forms.dll 中发生 其他信息: 线程间操作无效: 从不是创建控件“la ...
- vi 编辑器使用中常见的命令
原创作品,转载请在文章头部(显眼位置)注明出处:https://www.cnblogs.com/sunshine5683/p/10014724.html 要在linux学习的路上越走越远,总结是必不可 ...
- Django使用中常见的错误
Django Mysql SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED Django 执行makemigrations 的时候报错 ...
- SQLite数据库多平台应用及常见错误分析
SQLite是一个软件库,实现了自给自足的.无服务器的.零配置的.事务性的SQL数据库引擎.SQLite是世界上最广泛部署的数据库引擎之一.SQLite源代码开放,没有授权限制.正是因为其免费.轻巧. ...
- 关于python数据序列化的那些坑
-----世界上本来没那么多坑,python更新到3以后坑就多了 无论哪一门语言开发,都离不了数据储存与解析,除了跨平台性极好的xml和json之外,python要提到的还有自身最常用pickle模块 ...
随机推荐
- selenium 基本了解
Selenium的界面 白色:还未执行 浅青色:动作成功 深青色:判断成功 浅粉红色:判断失败,但不影响测试案例的运行 深粉红色:判断失败,且测试案例无法正常运行 Command 存在的命令 Acti ...
- oracle组建:ODAC112021Xcopy_x64,在开发机上,不用安装oracle的客户端等开发
以下解决方案是为了连接远程服务器上的oracle 11g 的解决方案. 下载地址:http://www.oracle.com/technetwork/database/windows/download ...
- log4cxx安装和使用
log4cxx是Java社区著名的log4j的c++移植版,用于为C++程序提供日志功能,以便开发者对目标程序进行调试和审计,log4cxx是apache软件基金会的开源项目,基于APR实现跨平台支持 ...
- JS语法部分-数组
数组的长度是动态变化的,里面可以防止任意类型的元素 var a=new Array() 数组元素的复制:a[0]=123 a[2]=456 数组的取值:a[i] 数组的属性: a.le ...
- Java基础(47):插入排序的Java封装(含原理,可运行,哨兵位的理解见VisualGo上面的动态分析)
直接插入排序(Straight Insertion Sorting)的基本思想:在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使 ...
- .NET: 配置文件
VS里项目->添加新项->应用程序配置文件 <?xml version="1.0" encoding="utf-8" ?> <co ...
- HDU 3688 Searchlights(并查集)
Problem Description There is a piece of grids land of size n×m. Chandler and his team take responsib ...
- MVC模型 简介
MVC (Modal View Controler)本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器.使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用 ...
- mysql设置时区方法
set global time_zone = '+2:00'; ##修改mysql全局时区 set time_zone = '+2:00'; ##修改当前会话时区 flush privileges; ...
- SpringMVC配制全局的日期格式
SpringMVC文件配制: <mvc:annotation-driven> <!-- 处理responseBody 里面日期类型 --> <mvc:message-co ...