学习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());'