乐趣区

composer failed to open stream: Operation now in progress 解决

最近遇到一个问题,一直不知道如何解决,网上搜到很多方法,都没效果
一开始以为是不支持 ssl,检查发现是支持的
php -i | grep -i ssl

SSL => Yes
SSL Version => OpenSSL/1.0.2r
core SSL => supported
extended SSL => supported
openssl
OpenSSL support => enabled
OpenSSL Library Version => OpenSSL 1.0.2r 26 Feb 2019
OpenSSL Header Version => OpenSSL 1.0.2q 20 Nov 2018
Openssl default config => /usr/local/etc/openssl/openssl.cnf
openssl.cafile => /usr/local/etc/openssl/cacert.pem => /usr/local/etc/openssl/cacert.pem
openssl.capath => /usr/local/etc/openssl => /usr/local/etc/openssl
SSL support => enabled
OpenSSL support => enabled

后来看有人说要更新 ssl 秘钥
wget http://curl.haxx.se/ca/cacert.pem

然后在 php.ini 配置
curl.cainfo=/usr/local/etc/openssl/cacert.pem
openssl.cafile=/usr/local/etc/openssl/cacert.pem
openssl.capath=/usr/local/etc/openssl

都没什么效果,看来并不是因为这些执行 composer diagnose 之后结果
composer diagnose

然后逐个解决错误吧,首先是 github fail 了,网上 google 了下,发现需要设置一个 token , 之前怎么不需要呢,也是奇怪,那先试试
composer config –global github-oauth.github.com <token>

or

// 在 composer.json 里加入
“github-oauth”:{
“github.com”:”{token}” // 替换成自己 token
}
token 生成在 https://github.com/settings/t… 执行 composer diagnose
Checking composer.json: WARNING
require.illuminate/redis : unbound version constraints (*) should be avoided
Checking platform settings: OK
Checking git settings: OK
Checking http connectivity to packagist: OK
Checking https connectivity to packagist: OK
Checking github.com rate limit: OK
Checking disk free space: OK
Checking pubkeys:
Tags Public Key Fingerprint: 57815BA2 7E54DC31 7ECC7CC5 573090D0 87719BA6 8F3BB723 4E5D42D0 84A14642
Dev Public Key Fingerprint: 4AC45767 E5EC2265 2F0C1167 CBBB8A2B 0C708369 153E328C AD90147D AFE50952
OK
Checking composer version: OK
Composer version: 1.8.4
PHP version: 7.1.19
PHP binary path: /usr/bin/php
搞定!

退出移动版