composer命令提示error:14090086错误

时间: 2019-08-24 00:41 栏目: PHP 浏览: 385 赞: 1 踩: 1 字体:

以下为本篇文章全部内容:

使用composer安装应用或者创建应用提示:

 [Composer\Downloader\TransportException]                                                                                                         
  The "https://mirrors.aliyun.com/composer/packages.json" 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

导致这个问题主要是证书错误,我们一起来解决这个问题。我们先来查看一下证书放在哪里。

php -r 'print_r(openssl_get_cert_locations());'

主要结果

Array
(
    [default_cert_file] => /etc/pki/tls/cert.pem
    [default_cert_file_env] => SSL_CERT_FILE
    [default_cert_dir] => /etc/pki/tls/certs
    [default_cert_dir_env] => SSL_CERT_DIR
    [default_private_dir] => /etc/pki/tls/private
    [default_default_cert_area] => /etc/pki/tls
    [ini_cafile] => /etc/pki/tls/cert.pem
    [ini_capath] => 
)

default_cert_file 就是证书的位置,首先去下载证书文件

wget http://curl.haxx.se/ca/cacert.pem --no-check-ceryificate

把证书覆盖掉 default_cert_file 指定的。

mv cacert.pem /etc/pki/tls/cert.pem


现在执行 composer install、create-project、update、require等命令,如果还提示证书错误那么查看一下系统时间,如果系统时间和当前时间差别很大那么同步一下时间。

ntpdate ntp.ubuntu.com

然后问题就解决了,有可能是因为系统时间太老导致证书过期然后引起的错误。