Composer 因SSL出错而无法更新的解决办法
2015-07-14 00:32
931 查看
Composer 因SSL出错而无法更新的解决办法
在使用composer更新时,会碰到如下错误信息:error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failedFailed to enable cryptofailed to open stream: operation failed
根据 这里的解释,是因为系统缺少证书文件。所以解决办法就是下载一个,然后让PHP能够找到就行了。
以下步骤是按照上面的地址操作的步骤。
第一步 查找证书信息
d:\> php -r "print_r(openssl_get_cert_locations());" array(8) { ["default_cert_file"]=> string(39) "d:/tmp/openssl-1.0.1m/vc11/x86/cert.pem" ["default_cert_file_env"]=> string(13) "SSL_CERT_FILE" ["default_cert_dir"]=> string(36) "d:/tmp/openssl-1.0.1m/vc11/x86/certs" ["default_cert_dir_env"]=> string(12) "SSL_CERT_DIR" ["default_private_dir"]=> string(38) "d:/tmp/openssl-1.0.1m/vc11/x86/private" ["default_default_cert_area"]=> string(30) "d:/tmp/openssl-1.0.1m/vc11/x86" ["ini_cafile"]=> string(0) "" ["ini_capath"]=> string(0) "" }
第二步 下载证书
下载 证书第三步 将证书保存到 default_cert_file 的位置
将 cacert.pem 保存到 d:/tmp/openssl-1.0.1m/vc11/x86/cert.pem在我的操作中,发现还是不行(原文操作系统为Linux/Unix系,我的操作系统为Windows)。
于是,我打开了 php.ini 文件,进行了如下修改:
openssl.cafile="d:/tmp/openssl-1.0.1m/vc11/x86/cert.pem"
然后再运行composer,可以了!
总结一下:
下载 证书修改 php.ini,设置 openssl.cafile 的路径
将 cacert.pem 保存到 第2步中openssl.cafile 所设置的位置
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- 访问Nginx发生SSL connection error的一种情况
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- MySQL复制解决方案(Replication Solutions)
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- PHP 5.3.0 安装分析心得
- apache 环境下 php 的配置注意事项
- ASP.NET、ASP、PHP、JSP之间有什么区别?
- PHP VBS JS 函数 对照表