Error:14090086:SSL routines:ssl3_get_server_certificate

Environment

[root@localhost dd]-sharp uname -a
Linux localhost.localdomain 3.10.0-862.el7.x86_64 -sharp1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost dd]-sharp php -v
PHP 7.0.30 (cli) (built: Nov 30 2018 19:43:05) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologie

execute

composer require topthink/think-swoole

any composer will report an error

  [Composer\Downloader\TransportException]                                                                                                                                                                          
  The "https://packagist.org/p/bower-asset/jquery%24bb3abb67f6ef612384f9d36676629a23ab67e95bfe8cec7e1e463e68d52086bc.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   




Mar.25,2022

look at the error message, it should be a network problem, you can try to use a domestic source.

for example:
https://pkg.phpcomposer.com/
https://laravel-china.org/com.


composer error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed

php-r "print_r (openssl_get_cert_locations ());"
download wget http://curl.haxx.se/ca/cacert.
replace the default default_cert_file
all the problems encountered in running composer diagnose are solved
Editing ini_cafile and ini_capath under php.ini

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] => /etc/pki/tls/
)

it took me two days to reinstall centos7, and now I've solved something like this.

Menu