zendframework+composer+certificate verify failed

来源:互联网 发布:生理学软件 编辑:程序博客网 时间:2024/05/16 11:48


学习zendframework时
运行php composer.phar self-update报错,提示

F:\source-code\php\zendPractice\zf2-tutorial>php composer.phar self-update
  [Composer\Downloader\TransportException]
  The "https://getcomposer.org/version" file could not be downloaded: SSL ope
  ration failed with code 1. OpenSSL Error messages:
  error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify
  failed
  Failed to enable crypto
  failed to open stream: operation failed
self-update [-r|--rollback] [--clean-backups] [version]

原因:证书错误
解决办法:
第一种:下载证书
1.拷贝当前目录下的“cacert.pem”文件到php安装目录如“D:\php56\extras”
2.打开php安装目录下的php.ini,找到";openssl.cafile=",修改为"openssl.cafile= D:\php56\extras\cacert.pem"。
参考链接:
 http://my.oschina.net/yearnfar/blog/346727
 CA证书下载地址:http://curl.haxx.se/docs/caextract.html
第二种:使用Composer中国镜像
1.将以下配置信息添加到 Composer 的配置文件 config.json 中(系统全局配置) 
2.将以下配置信息添加到你的项目的 composer.json 文件中(针对单个项目配置)
 {
     "repositories": [
         {"type": "composer", "url": "http://pkg.phpcomposer.com/repo/packagist/"},
         {"packagist": false}
     ]
 }
 避免安装包的时候都要执行两次查询,切记要添加禁用 packagist 的设置
参考链接:
 http://pkg.phpcomposer.com/
 
tips:
命令行运行:php -r 'var_dump(openssl_get_cert_locations());'

0 0
原创粉丝点击