作为PHP深度开发者,composer的出现可以说解决了大家的环境配置成本、代码共享方式和代码更新问题,现在的大部分的PHP框架如laravel、yii2 都采用composer的包管理机制,可以让开发者快速安装插件。
最近遇到的主要问题是执行composer更新命令遇到如下错误:
composer self-update
[Composer\Downloader\TransportException]
The "https://getcomposer.org/version" file could not be downloaded: SSL operation 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
其实你要是把这个错误信息放在网上一搜,结果发现一堆这种问题,但是问题的关键是这些问题都没有给出解决方案,比较靠谱的回答有如下几种:
- 证书出现问题,去更新下你的证书信息;
- 网络问题,自己看下是不是被欺骗了;
- …….
Google出来很多答案,就连stackoverflow都有很多问题和答案,但是问题的关键这些答案都不能解决问题,通过自己的研究发现目前Mac安装的PHP版本是5.3版本的,感觉应该是openssl爆出漏洞后导致证书不可信,所以直接升级PHP版本应该就可以,那就可以直接执行如下命令:
brew install php56
请注意,make的时候cpu飙到99%是正常的,稍微等几分钟就好了,然后执行更新:
composer update
Your requirements could not be resolved to an installable set of packages.
这个问题就更好解决了,修改当前工程的composer.json中的:
"minimum-stability": "stable",
改为:
"minimum-stability": "dev",
"prefer-stable": true,
顺利解决问题~